0% found this document useful (0 votes)
96 views

JReport Server User's Guide

Uploaded by

Liviu Delureanu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views

JReport Server User's Guide

Uploaded by

Liviu Delureanu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1499

Welcome to the JReport Server User's Guide

This User's Guide describes JReport Server. JReport Server is a 100% Java report generation and
management tool that can be deployed to any Java EE application server. By leveraging its high
performance report generation engine, JReport scales to meet the most demanding requirements.
Using the report scheduling, distributing and alerting capabilities of the JReport Server, reporting can
be integrated into the workflow of the application.
This guide is written for report administrators or system administrators of Java application that embed
JReport reports into their application.

Other JReport documentation


This guide is one in the complete JReport documentation set. The documentation set includes the
following:
● Getting Started with JReport

● JReport Tutorial

● JReport Designer User's Guide

● JReport Desktop Viewer User's Guide

● JReport Server Monitor User's Guide

● Server API Javadoc

● Designer and Catalog API Javadoc


What's New in This Release
This document describes the new features of JReport in this release.

JReport Server
Performance Improvements with the advanced report engine are focused on faster response time
and better scalability. Through internal system tuning and minimizing redundancy, JReport now has a
smaller footprint with faster response time for on-demand report generation, report delivery, and
interactive reporting and analysis.
● Faster Expanding/Collapsing Actions in Crosstab. Adjusted the default value for the property
Expand Detail Data on crosstabs to improve the performance.

● Reduce SQL calls when Interacting with Cascading Parameters. The unnecessary accesses to
the database are reduced when running reports with cascading parameters.

● The Remote Dispatcher Is Enhanced. You can now dispatch RMI Server Pages requests in
multiple server environment without modifying any of your code. For details, see Dispatching RMI
Server Pages requests in multiple server environment.

● Use Derby as the Default JReport System Database. JReport changed its default system
database from HSQLDB to Apache Derby to provide better performance and support transactions
with higher reliability.

● Support Bind Variables in JReport Server System Database. Bind variables are now supported
in most of JReport Server system databases to improve JReport Server performance.

● Reduce the Response Time of a Single Event. Further improved the web control feature by
supporting executing combined actions of changing parameter value, sorting, and filtering that is
triggered by one event.

Usability is improved with a simpler interface and more tools that enhance productivity.
● Redesign the UI of Using the Saved Parameter Values When Specifying Parameter Values
for Running or Scheduling Reports. The new UI is more intuitive and easier to use. For details,
see Parameters.

● Add a Separate Control to Enable/Disable JReport Clustering. Now even though your JReport
license key is cluster enabled, if you do not set the property cluster.enabled in the server.properties
file to true for any server in a JReport cluster, the cluster feature will not be activated on this server.
The property control can help improve the performance and reliability of a clustered server when it
works individually.

● Add Command Buttons to the Report Set/Task/Version Tables. Now on the JReport Console
page, you can handle reports, tasks, or versions with a quicker access of command buttons.

● New UI Standard for JReport. JReport Server, JReport Viewer, JReport Studio and JReport Server
Monitor now use a consistent UI standard. Arrangement has also been taken to the presentation of
tabs and options so as to make the UI clearer and nicer.
New Functional Features to provide enhanced capabilities in security, report output and more.
● Cached Report Data. JReport now supports Cached Report Data (CRD), which is a cached subset of
data fetched from the database according to certain conditions and is used for retrieving data for
reports instead of the database. Cached Report Data provides several benefits, for example, reports
can be run from a specific point in time such as a month end report or quarter end report without
going back to the DBMS to get the original data, users running a report will all see the same view of
the data, thus the data will not change minute by minute based on current DBMS updates. This can
provide a huge performance advantage and reduce the load on the DBMS when multiple users use
the same query for their reports. For details, see Managing cached report data.

● Support User Defined Resource Properties. By providing the Custom Field feature, user defined
resource properties are supported. For details, see Working with custom fields.

● Use an External Method for Profiling Data. You can now monitor the JReport Server performance
via an external method: JMX MBean API or Web Service API. For details, see Monitoring the server
performance.

● Support Global NLS. Now you can create global NLS resources on JReport Server, which can be
shared by all report sets in both JReport Designer and JReport Server to reduce your translation cost.
For details, see Creating global NLS for report sets and NLS Editor in the JReport Designer User's
Guide.

● Support Setting Report Set Status. Users/groups/roles which have the Update Status permission
of a report set can now change the status of the report set to specify whether a report set can be
run. The purpose is to allow report sets to temporarily by made not runnable without having to delete
them and republish them to make them available.

● Support Distributed Cluster as the New JReport Server Cluster. In this new cluster, distributed
architecture takes the place of master-slave architecture to enable more nodes and balance the
workload of each JReport Server. Distributed storage of data is supported to remove the single point
of failure with the network/shared disk. JReport Server Monitor is also enhanced accordingly. For
details, see Clustering.

● Add a New Server Database Branch. The new database branch is called system database. It
holds resources of the global server scope, such as server.properties, global NLS, etc. The original
system or systables database is now addressed as realm database since it is specific to a realm. The
profiling database remains as before. For details about the three databases, see Data dialog.

● Support Installation on 64-bit Operating Systems. All JReport installers have been upgraded
and can now work on all 64-bit operating systems as well as on 32-bit OSs.

Standards Support is further enhanced in JReport 10.


● Support Itext 1.5.4. The Itext version JReport supports is now upgraded to 1.5.4.

● I18N Support on Server UI. JReport Server now supports the Java I18n standards, so that it can
be adapted to various languages and regions without engineering changes.

JReport Web (ad hoc reporting and analysis)


JReport Web enables reports to be accessed through a web browser via Dynamic HTML, or AJAX. With
JReport Web technology, reports can be modified using dynamic filter, sort, and drill capabilities.
● Improved Indentation on Nested Groups. When multi-groups are added in a banded object or a
table via the report wizard, by default, the indent of the groups is 0 inch now. However, you can
customize the group indent according to your own requirements by setting the Customize Group
Indent option in the Profile > Configure DHTML Profile panel.

● Field Format Improvement for Crosstab Drill. Field format now will be kept when drilling in
crosstab.

● Enhanced Speed When Opening Reports. Unnecessary calls to the DesignService APIs have been
removed when opening reports in DHTML format, which decreases the number of calls to the
Designer APIs and improves performance.

● Categorize Resources in the Field Drop-down List. Now category folders are added to the field
drop-down list of the condition panel so that the resources are easier to pick and duplicate resource
names are avoided in multiple fields.

● Redesign the Export Dialog. The new UI is better organized and easier to use. For details, see
Export dialog.

● Mark the Resources in Use in the Resource Tree. Resources referenced by the current selected
component are now displayed checked in the resource tree, so that user can easily find out the
resources are being used.

● JReport Viewer Dialogs And Menus Are Simplified. When creating a report with the report
wizard, if there is only one cube available in the current catalog, the Data screen is now hidden from
the wizard and this cube will be used to create the report by default. Meanwhile, if there is only one
style available to be applied to any report, all the style related commands, dialog tab and wizard
screen are not displayed now.

● Support the Web Action of Linking to a Customized Page. With the new web action
user_popCustomizedPage(), you can get a customized page, which by default shows all the
parameters the current report uses if it has parameters. You can change the parameter values to re-
run the report. Meanwhile, you can customize the page to make it display what you need by using
the DHTML API. For details, see the Customized Page dialog.

● Support Drill-Up Action and Drill Filter Panel. The drill-up action is now supported on crosstab,
table, and banded object in analytic reporting. In addition, when you perform the drill actions, if any
filters are created, the Drill Filter panel will be displayed, showing the filters. Thus, with the Drill Filter
panel and drill-up action support, you can drill back and forth to change the data scope as required.
For details, see Automatic drilling.

● Basic and Advanced Modes of the Filter Dialogs. Filter related dialogs now support two modes:
basic and advanced. The basic mode provides function for creating simple filter conditions that are
connected by ADD and OR operators. The advanced mode enables the building of more complex filter
conditions via the grouping of conditions. Moreover, a filter inspector is provided for listing all the
filters a report set is using. For details, see Filter dialog.

● Support Four New Web Controls. These four types of web controls are added: parameter control,
parameter form control, filter control, and navigation control. For their usages, see Applying web
controls.

Studio Reports Solution is aimed at easier and faster report creation and design, faster report
execution, easier customization, and better presentation style using a newer Rich Internet Application
(RIA) Web 2.0 interface. For details, see Studio Reports.

● Scalable Architecture separates layout intensive tasks (rich client) from data intensive tasks
(server).
● Business Views as Data Sources for Studio Reports. Business views are used as data sources
for studio reports and are created and managed in JReport Designer. A business view is similar to a
report cube except that there is no hierarchical relationship between the data objects in a business
view. For details, see Business views in the JReport Designer User's Guide.

● New Ad Hoc Report Wizard Based on AJAX is configurable for both of business and technical
users, facilitates the creation of complex reports with multiple components in a tabular style layout.
The Report Wizard supports new table templates covering all common table structures. It also allows
for easy creation of a report cover page and back page for more formal presentations. For details,
see JReport Studio Wizard.

● JReport Studio is the rich internet application (RIA) with robust interactive functions, where you
open and edit studio reports. You can insert components, apply filters, parameters, and CSS styles,
set up links among studio reports, and export and print report results. For details, see Studio Reports.

● Open and Edit Studio Reports in JReport Designer. JReport Designer supports downloading
studio reports from JReport Server, opening, creating and editing studio reports, and publishing
studio reports to server. For details, see Working with studio reports in the JReport Designer User's
Guide.

● Support Client Side Report Layout in JReport Studio/Wizard. In JReport Studio/Wizard, a new
engine is employed to support client side report layout to improve JReport Server performance and
scalability.

JReport Designer
● Support Web Service Data Source. JReport now supports web services defined by WSDL 2.0 as
data sources. For details, see Web service data sources in the JReport Designer User's Guide.

● Support Refreshing XML Schema. You can now modify the XML schema of an existing XML data
source in the Import XML Schema screen of the XML Connection Wizard. Once you finish modifying
and click the newly added Refresh button in the screen, the new schema information will be reloaded
according to what you have changed.

● Table Enhancement. A new table structure is provided so each group, detail and summary field can
be held within its own column. In addition, more operations and functions are supported on tables.
For details, see Creating a table report, Managing columns/rows in a table and Table properties in the
JReport Designer User's Guide.

● Catalog Browser Layout Enhancement. Resources in the Catalog Browser are re-organized
according to their relationship to make the resource tree structure clearer.

● Customizable Data Sources in Catalog. You can now change the default data source, rename and
delete the data sources in a catalog freely according to your requirement. For details, refer to
Creating a catalog in the JReport Designer User's Guide.

● Support Inner Join Type. A property - Explicit Inner Join - is added to JDBC connection in the
Catalog Browser for controlling whether to use Explicit Join notation or Implicit Join notation in the
Where clause for inner joins. On some DBMS system, using explicit join notation improves
performance.

● Customize DHTML Display Name for Actions. When customizing the field display names, you can
now further define where the display names will be used in specific component. For details, see
Customizing the field display names in the JReport Designer User's Guide.
● Define Default View Format When Designing Reports. A property - Default Format for Viewing
Report - is added in the Report Inspector at the report level for predefining the default report view
format. The property works when viewing or directly running the report in JReport Server.

● Support More W3C CSS Properties. JReport now supports more W3C CSS 2.1 standard
properties, using which you can build various CSS styles to change the visual presentation of your
reports. Meanwhile, an option - Show warning message when CSS properties are not supported by
JReport - is added in the Options dialog, for controlling whether to show the unsupported CSS
properties when applying CSS styles.

● Refresh the Catalog Reference Table by API. You can now use the method public boolean
refreshReference(CrossReferenceConfigure referenceConfigure) in the Catalog API to refresh the
reference table of a catalog. For details, see Refreshing the reference table of a catalog in the
JReport Designer User's Guide.

● Download Resources from JReport Server. You can now download the resources managed on
JReport Server to your local and further modify them in JReport Designer. For details, see
Downloading resources from JReport Server in the JReport Designer User's Guide.

● Consistently Support Hex for Designer Formula Color Picker. The Designer formula color
picker supports RGB hexadecimal value of colors. It shows the RGB hexadecimal value of the
specified color, or you can enter the RGB hexadecimal value of a color manually.

● Customize the Sheet Name for Report in Excel Result. When exporting a report to Excel, you
can now define the sheet name for the report in the exported Excel result file by setting the property
Sheet Name of the report.

● Add Postfix Number to Subreport Worksheets in Excel Result. A property - Sheet Name
Postfix - is added on subreport, with which you can define how to add the postfix number to the
sheets in which the subreport will be put when exporting the report to Excel.

● Chart Can Be Created Through the Report Wizard Along with the Banded/Crosstab/Table
Using the Same Group and Summary Fields. For details, see Creating a banded report in the
JReport Designer User's Guide.

● Reduce the Memory JRMemoryAppeneder Holds. You can now use the method
setUsedMemoryAppender(boolean use) in the Engine Bean to reduce the memory
JRMemoryAppeneder holds. For details, see Reducing the memory JRMemoryAppender holds in the
JReport Designer User's Guide.

● Formula Control Enhancement on Properties of Crosstab Fields. Most of the properties for
crosstab fields and labels can now be controlled by formulas. JReport automatically filters formulas
that are not supported for a property.

● Format for Aggregate Fields in Crosstab Is Now Unified. Rather than setting the format for
detail, each sub-total and each grand-total a single format can be specified for all values for a
crosstab cell.

● Support Importing User Defined Formula Classes via UI. You can now import user defined
formula classes in two ways: using the "import" statement or via dialog. The dialog also enables
editing class alias. By providing different aliases one UDF class can be imported more times. The
imported UDF classes' functions are displayed in the UDF node in the Functions panel of the Formula
Editor. You can perform on UDF functions just like on the other built-in functions. For details, see
User defined formula functions in the JReport Designer User's Guide.

● Support Displaying Instance Name. A property Instance Name is added to all the objects in the
Report Inspector to show the instance name for each object.
● Map Enhancement. The Map feature is further improved in several respects: you can now define
the area tips when you import areas from a .shp file in the Select Area Name dialog; in the Reset All
dialog, you can not only reset all the properties for map areas including the labels and summary
fields inside the areas globally, but also choose some specific properties you want to apply global
settings; you can also control whether or not the label for the area will be displayed when the size of
the area is changed to be smaller than the label, by using the option Automatic Filling Labels in the
Map Canvas Setup dialog.

● Show the Value Label on the Value Axis in Percent. JReport now provides an option, Show
Percent, in the Format Value(Y)/(Y2) Axis dialog, by controlling which the value label on the value(Y)/
(Y2) axis of a chart can either be displayed as value, or be shown in percent.

● Support New Chart Types. Two new chart types, Bullet Chart and Donut Pie Chart, are now
supported in JReport.

● Showing/Hiding Table Columns by Constant Level Formula. The property Invisible on table
columns can now be controlled by constant level formulas.

● Support Linking Crosstab and Another Report with Conditions. You can now make a specified
field in a crosstab linked with another report with conditions.

● Support More Data Source Types for Binding Parameter With Column. When binding a
parameter with a column, you can now select the column in the following data sources: tables and
views, stored procedures, imported SQLs, and user defined data sources. For details, see Creating a
parameter in the JReport Designer User's Guide.

● Expanding/Collapsing Data Enhancement in Crosstab. With the Expand Data property on


DBFields and formulas added in to a crosstab as dimensions, you can specify which dimensions'
details can be expanded/collapsed in DHTML format. For details, see Expanding/Collapsing a crosstab
in the JReport Designer User's Guide.

● Support Showing/Suppressing Specified Row/Column Subtotals in Crosstabs. In a crosstab,


you can now control which subtotal of rows/columns will be suppressed, and which will be shown, by
using the Suppress Row Subtotal dialog and Suppress Column Subtotal dialog.

● Extend Contents in Table Column/Crosstab Field Automatically. When the contents in a table
column/crosstab field needs more space to completely display, you can automatically adjust the
width of the table column/crosstab field according to their contents, by using the property Auto Fit.

● Web Control Enhancement. You can now add the value "All" to a list/drop-down list by using the
Insert Fields dialog. Then when All is selected as value of the list/drop-down list at runtime, all filter
actions defined on the list/drop-down list will not take effect, and if you applied some other web
action that needs value from the list/drop-down list, a Null value will be returned.

● Link to Multiple Components in a Report. When linking a report with another one, you can
specify multiple components in the target report to be interlinked with the primary report, no matter
they are based on the same dataset or not, and set separate link condition for each component. For
details, see Linking a report to another report in the JReport Designer User's Guide.

● Alternating Line Color Control in a Crosstab. A property group Alternating Line Color is added to
crosstab, by using which you can define a specified color for the fields in the same rows or columns
in a crosstab.

● New Look and Feel for JReport Designer. Based on JDK 6, JReport Designer applies new look
and feel so as to make you use it more comfortably.

● Support Skip First N in Chart. For details, see Setting Order/Select N condition for category/
serries field in the JReport Designer User's Guide.
Resolved/Known Issues in This Release
This document describes the resolved issues and any known issues for JReport Server in this release.

Resolved issues
Item Case # Issue
1 54838 All data can now be displayed normally when user runs the report in Text format with
XML data source in parallel.
2 54986 Resolved the java.lang.RuntimeException error when user runs a report on JReport
Server 9 Service Pack 1 Update 1.
3 54969 The Value drop-down list in the Query Filter dialog now can be displayed normally in ad
hoc reporting.
4 55673 The All Value works correctly when the user creates a table report with parameters in
JReport Designer, edits the business cube join and then publishes the report to JReport
Server.
5 55999 JReport Viewer Bean for Swing can now display the summary correctly when using
grouping.
6 56051 When user runs the result version of a report and then exports it to PDF or Excel
format, JReport will not get a JRResponseException error.
7 56217 If user runs a report with date parameters, the date information displayed in the report
page now works according to the date parameter the user set in the Enter Parameter
Values page.
8 56237 Now resources like folders, reports, and catalogs on the JReport Administration page
are kept normally after user makes changes on the Archive tab of the Data page.

9 56302 The exported Excel file now works fine after user exports a report to Excel format.

10 56342 JReport Server now works correctly with multiple connection configurations in the
same catalog.
11 56781 JReport Server can now run a report created as an ad hoc report in any format using
Advanced Run without getting an exception.
12 56907 When user runs a report with style group in DHTML or HTML format, it no longer lays
out the report twice internally after user sets the Style Group property.
13 56924 Enhanced null data checking in data source definitions to avoid java.lang.
NullPointerExcetions.
14 56993 The fonts of exported PDF files now display normally after user exports a report to PDF
format.
15 57112 Now when user sets a schedule task on JReport Server, the multi-selected weekdays
work normally on both standalone and integrated server.
16 57213 The exported Excel file now works after user exports a chart containing only one item
on the series axis.
17 57284 Now after user exports a chart to HTML file, it shows complete tip information when
user moves the mouse pointer over any text in the graph.
18 57284 The chart data marker in the line chart can now be displayed normally on JReport
Viewer page.
19 57284 The exported Excel file containing a chart report now displays normally after user
saves the file and opens it again.
20 57284 The exported Excel file containing a chart report now displays normally when user
opens it with MS Office 2010 version.
21 57586 The API method getParamInfosByValue() can work normally now.
22 57639 Resolved the DSException error in user's report after user loads a datasource.xml file
in JReport Server with an override of a connection with a different name.

Known issues
Compiling formulas in JReport under JDK 6 or higher gets warnings
Since generic type is introduced to JDK 6 or higher version, when compiling formulas in JReport under
JDK 6 or higher, you may come across warning messages as follows:
● Note: Test.java uses unchecked or unsafe operations.

● Note: Recompile with -Xlint:unchecked for details.

You may see that the situations are logged as Javac errors. However, the warning messages do not
prevent Javac from creating .class files and reports can still run correctly.
In this case, you can simply ignore the messages and logged errors.
TOC Browser tree doesn't work well for reports with cached report bursting
When end user runs a report which has been defined with some cached report bursting policy in
JReport Viewer, if he opens the TOC Browser, he will be displayed with all the groups the report has
instead of the ones he is supposed to view. In addition, no matter a group is allowed for him or not, he
cannot click the group name from the TOC tree to get corresponding details. JReport will further
enhance the cached report bursting feature in future release to resolve this issue.
Report data get cut off in PDF result
When you export a report to PDF format, if the report contains a large amount of data but its page
mode was specified to be continuous page mode when it was designed in JReport Designer, or its page
size was set to be larger than 200 inches, you will find that in the PDF result some data of the report
are cut off. This is because in one PDF page, the data displayed can no larger than 200 inches.
Derby cannot auto start in cross-computer integration
By default, JReport Server uses the embedded Derby as the system database, and automatically starts
the Derby database server (the start of Derby requires the JDK path). If you build a WAR/EAR on
computer A and then integrate it into an application server on computer B, it is probable that the Derby
database server cannot auto start using the JDK path on computer A. If you want to use Derby in an
integration environment, you'd should update dbconfig.xml when building the WAR/EAR, and remove
the following line from dbconfig.xml:
<auto-start-derbyservice>true</auto-start-derbyservice>

Then JReport will not try to auto start the embedded Derby server, and you need to start it by yourself.
Derby can be started and stopped by using the batch files in <install_root>/derby/bin. There you will
find startNetworkServer.bat/sh and stopNetworkServer.bat/sh.

API change
jet.formula.ParamDesc.value has been set to private now. You can use getDisplayValue(DbValue
paramvalue, java.util.Locale locale) instead.
For example:
ParamDesc desc = new ParamDesc();
... ...
desc.getDisplayValue(desc.getValue(), Locale.getDefault());
JReport Product Overview
JReport is a complete Java reporting solution that provides sophisticated enterprise reporting, ad hoc
reporting, and data analysis. A 100% Java EE architecture and a rich set of APIs allow JReport to be
seamlessly embedded into any application, providing end users with a transparent interface to easily
generate reports, share information, and analyze data. With JReport, any report can be made
interactive, extending the "life" of a report by allowing users to easily sort, group, navigate, and filter
via the Web. This wide range of functionality, including the ability to drill down on data, enables users
to quickly derive value from their business intelligence.
This chapter describes the JReport product in the following sections:
● Features of JReport

● JReport product architecture

● Reporting a problem or requesting a feature

● Visiting our web pages for more information


Features of JReport
JReport Designer supports report development. JReport Designer provides the following features:
● Interactive IDE

● Sophisticated report design

● Precise, flexible layout

● Reusable report objects

● Access any data source

JReport Server supports report generation and management. JReport Server has the following
features:
● High performance engine

● Scale to any workload

● Seamless integration SDK

● Pure Java EE deployment

● Scheduling, distribution, alerting & versioning

JReport Web supports information delivery. JReport Web has the following features:
● Interactive DHTML technology

● Dynamic sort, filter, drill, pivot, convert

● Ad hoc reporting

● Taglib to customize JSPs

● Flexible output formats: PDF, Excel, XML, RTF, e-mail and more
JReport product architecture
The JReport solution spans a 3-tier architecture.

JReport Designer is a Swing-based Integrated Development Environment (IDE) that enables


sophisticated report design and presentation of critical business data. It provides an intuitive interface,
reusable report components, flexible layout, and a toolset for designing and testing reports. With
JReport Designer, you can build reports using simple drag and drop techniques or by using the Report
Wizard. Data can be accessed from any data source to design and preview reports in order to deliver
information to end users in the most relevant and intuitive manner. Rapid creation and modification of
report templates is accomplished by toggling between design mode and view mode where the report
will be displayed with the actual dataset. Once report design is complete, the template is published to
the JReport Server for generation, delivery, and management.
JReport Server is a 100% Java report generation and management tool. It enables efficient
management, sharing, scheduling, versioning, and delivery of reports and enables reporting to be
integrated into the workflow of any Java application. The high-performance engine can scale to any
workload. Report results can be saved to a versioning system, sent to enterprise/workgroup printers,
or e-mailed. With JReport, reports can be viewed in any modern enterprise format including DHTML,
HTML and standard business documents, such as PDF, Excel, and RTF.
JReport Web enables reports to be accessed through a web browser via Dynamic HTML, or AJAX. With
JReport Web technology, reports can be modified using dynamic filter, sort, and drill capabilities. Using
JReport Web's advanced capabilities, users can drag and drop columns to and from an existing report,
dynamically change chart types, pivot crosstabs, add groups, convert report components or create an
entirely new report.
JReport SDK - All JReport functionality can be accessed through Java APIs using JSP pages, servlets,
or standalone applications.
Reporting a problem or requesting a feature
If you are having trouble running JReport Server or encounter any problems during reporting, take the
following steps.
1. Check whether the system on which JReport Server is running meets the system requirements.

2. Check the JReport FAQ pages for frequently-asked questions and their solutions.

If the problem persists, report it to Jinfonet Support ([email protected]) with the following
information:
1. Describe the precise steps leading to the problem.

2. Run the batch file jrenv.bat in the <install_root>\bin subdirectory. Running this batch file will
generate a file called report.env in the current directory. Send this file to Jinfonet Support. Also,
describe the operating environment, including machine type, CPU, memory, OS, and Java version.

3. If you are running JReport in an integrated Java application server, click the Server Information

button on the JReport Administration page to list the environment.

4. Send Jinfonet Support the log file with the recorded JReport Server problems.
❍ For a standalone server
Start JReport with the batch file DJRServer.bat (.sh on Unix). Running this batch file will record
the most detailed logging information and write them to the log files in the <install_root>
\logs directory. Try to reproduce the problem, and send the log files along with the other
information.

❍ For an integrated JReport Server


If your JReport Server runs as a servlet inside a Java application server, send the log files
generated by the JReport Engine in the application server. When the JReport Servlet is installed,
a property file is generated which is used to define the class and arguments of the JRServlet.
For example, if you integrated JReport Server into WebLogic, find the WebLogic properties file
located in the installation path of WebLogic. Edit the file to use the option -vDebug -vError. Your
file should then contain the following content:
vError=true
vDebug=true
In addition, you can also directly add the java option -Dlogall=true (or -DvError=true, -
DvDebug=true) to the java command line within the launch file of the application server.
After restarting your application server, reproduce the problem and send the log files to Support.

5. Send Support the log files recording all of the logging information of engine and server (including
event, error, debugging, access, management, and performance).
❍ Change the configuration to record all logging events by starting the server and accessing the
JReport Administration page through http://localhost:8889.

a. Go to the Configuration > Log panel.


b. Set the trace level of all logs to TRIVIAL, and set the error level of all logs to WARN.

c. After that, reproduce your problem and send Support the log files in <install_root>
\logs. In addition, you can also directly modify the logging configuration file LogConfig.
properties in <install_root>\bin. If you set the server property log.config.update to true
(all server properties are managed within the file server.properties in <install_root>
\bin), any changes to the configuration file will automatically take effect at runtime after
the specified update interval (set by the server property log.config.update.interval).

❍ If your JReport Server runs as a servlet within a Java application server, in the address bar of a
web browser, type in http://<hostname>/jreport/admin, where jreport is the servlet context
path.

6. To reproduce your problem of running reports with JReport Server, we will often need your report,
catalog and data information.
a. Send Support the catalog file (*.cat and *.fml) and the report set file *.cls that you are
having problems with.

b. In order to resolve technical issues that you have reported, we will need to access your
report data so that we can recreate and analyze the problem. Your database may be very
large. However, we will only require access to the data returned by the query of the
troublesome report, and if necessary we will sign a confidentiality agreement with you. To
extract the report data, in the Catalog Browser of JReport Designer, right-click the query that
your report is using, select the menu item Create Cached Query Result. Then, input the
data file name and click the Save button. The query result will then be saved in this file.
Send Support all of the files generated (including the description file).
Visiting our web pages for more information
● Products information
http://www.jinfonet.com/products/jreport-suite

● Release information
http://www.jinfonet.com/products/whats-new

● News center
http://www.jinfonet.com/news/jreport-news-highlights

● Demo center
http://www.jinfonet.com/products/jreport-demo

● Products download center


http://www.jinfonet.com/downloadjreport/

● White papers
http://www.jinfonet.com/products/white-papers

● JReport product documentation


http://www.jinfonet.com/kbase.htm

● JReport Javadoc
http://www.jinfonet.com/kbase.htm

● JReport technical support center


http://www.jinfonet.com/support/
Installing and Uninstalling
This chapter presents how to install JReport Server using a variety of different methods. It covers
issues associated with installing, removing and solving problems encountered during installation.
● System requirements

● JReport Server Live license

● Supported databases

● Installing using the Installation Wizard

● Installing silently

● Installing using the console interface

● Installing on Unix manually

● Uninstalling

● Solving installation problems

● JReport Server reporthome directory overview


System requirements
The following table displays the basic system requirements for installing JReport Server. Check your
system to make sure that all the requirements are met before installation.

JReport Server System Requirements


Recommended Requirements Minimum Requirements
OS: Windows, Unix, Linux, z/Linux Windows, Unix, Linux, z/Linux
CPU: Intel Dual Core Xeon 2.8GHz Intel P4 Xeon 3.0GHz
Memory: 3 GB 2 GB
Disk: 1 GB free 1 GB free
JDK: 6 or above 6 or above
Client Requirements Recommended
Internet Explorer 6, Firefox 3, and higher versions, or Google Chrome 5.

You can download a JDK version at http://java.sun.com/javase/downloads/index.jsp.

Notes:
● Jinfonet supports Java VMs released by Sun and IBM to run with JReport Server. You can try using
other Java VMs, but their compatibility cannot be guaranteed. Reports of any problems you find with
other Java VMs are welcome.

● If you want to use JReport Server on a z/Linux system, you must download the JDK specially used
for IBM from http://www-03.ibm.com/servers/eserver/zseries/software/java/ and the version should
be at least V6.
JReport Server Live license
The JReport Server Live license controls the real time ad hoc and analysis reporting on JReport Server.
The Live license allows you to utilize all of the following features and functions on JReport Server:
● Create, view, run, edit, export, print, and publish ad hoc Page Layout Reports and Web Layout
Reports (also called Studio Reports). The data sources for these reports are created in JReport
Designer, which requires a JReport Designer Live license.

● All actions in JReport Viewer (the browser for opening a DHTML format report) involving report cube/
business cube or changes of report template:
❍ Create new reports or report sets

❍ Delete reports from a report set

❍ Add components and data fields into reports

❍ Remove components from reports

❍ Move and resize components

❍ Edit component properties

❍ Drill

❍ Go to

❍ Change chart type

❍ Rotate tables and crosstabs

❍ Convert between crosstab and chart

❍ Create query filters

❍ Display Resource View panel which shows the data resources for the current open report

See also JReport Designer Live license in the JReport Designer User's Guide for details about the
features the license controls.
Supported databases
JReport supports all of the current mainstream databases as well as most databases which support
ODBC or JDBC drivers. The following table lists the databases and JDBC drivers that have been tested
with JReport. If you are using any of the databases listed below, you are recommended to use the
corresponding driver version with JReport although any driver which the DBMS supplier recommends is
also fine. Also, if you encounter problems when using a database or driver version that is not listed
here, you can contact Jinfonet Support ([email protected]) for help.

Database Version Driver File Name JDBC Driver Example URL


MS SQL 2005 sqljdbc.jar com.microsoft. jdbc:sqlserver://<host>:1433;user=sa;
Server sqlserver.jdbc. password=1234;database=test
SQLServerDriver
MS SQL 2000 msbase.jar; msutil. com.microsoft.jdbc. jdbc:microsoft:sqlserver://<host>:1433
Server jar; mssqlserver.jar sqlserver.
SQLServerDriver
MS SQL 2000 Opta2000.jar com.inet.tds.TdsDriver jdbc:inetdae7:<host>:1433?
Server database=test
MS SQL 2000 tds-1.0.3.jar net.sourceforge.jtds. jdbc:jtds:sqlserver://<host>:1433/test
Server jdbc.Driver
Oracle 9i JDK1.2&1.3: oracle.jdbc.driver. jdbc:oracle:thin:@<host>:1521:ora9i
classes12.zip; OracleDriver
JDK1.4: ojdbc14.jar
Oracle 10.1.0.2.0 JDK1.2&1.3: oracle.jdbc.driver. jdbc:oracle:thin:@<host>:1521:ora9i
(10g) classes12.zip; OracleDriver
JDK1.4: ojdbc14.jar
Oracle 11.1.0.6.0 classes12.jar oracle.jdbc. jdbc:oracle:thin:@<host>:1521:ora11g
(11g) OracleDriver
DB2 8.1 Db2java.zi; db2jcc.jar com.ibm.db2.jdbc.net. jdbc:db2://<host>/test
DB2Driver
DB2 8.1 Db2java.zip com.ibm.db2.jdbc.app. jdbc:db2:test
DB2Driver
DB2 8.2 Db2jcc.jar; com.ibm.db2.jcc. jdbc:db2://<host>:50000/test
db2jcc_license_cu.jar DB2Driver
(Linux, Unix and
Windows);
db2jcc_license_cisuz.
jar (Linux, Unixand
Windows, z/OS,
OS/390,z/OS, iSeries
etc)
DB2 8.2 Db2java.zip com.ibm.db2.jdbc.app. jdbc:db2:test
DB2Driver
RedBrick redbrick.jar redbrick.jdbc. jdbc:rbw:protocol:<host>:5050/test/
warehouse RBWDriver
Informix 9.30 ifxjdbc.jar com.informix.jdbc. jdbc:informix-sqli://<host>:1526/
IfxDriver stores_demo:informixserver=DBSC
PostGre SQL 8.0 postgresql-8.0-310. org.postgresql.Driver jdbc:postgresql://<host>:5432/test
jdbc3.jar
MySql mysql- mysql-connector-java- com.mysql.jdbc.Driver jdbc:mysql://<host>:3306/test
5.0.18- 5.0.3-bin.jar
win32
MySql mysql 4 mysql-connector-java- com.mysql.jdbc.Driver jdbc:mysql://<host>:3306/test
3.0.14-production-bin.
jar
MySql mysql- mysql-connector-java- com.mysql.jdbc.Driver jdbc:mysql://<host>:3306/test
5.0.2-alpha- 3.1.5-gamma-bin.jar
win
MySql mysql- mysql-connector-java- com.mysql.jdbc.Driver jdbc:mysql://<host>:3306/test
4.1.12- 3.1.10-bin.jar
win32
MySql mysql 5 mysql-connector-java- com.mysql.jdbc.Driver jdbc:mysql://<host>:3306/test
5.0.4-bin.jar
HSQL hsqldb.jar org.hsqldb.jdbcDriver jdbc:hsqldb:D:\JReport\Demo\db
\SampleDB
Sybase 12.5 jconn2.jar com.sybase.jdbc2.jdbc. jdbc:sybase:Tds:<host>:5000/master
SybDriver
Sybase 12.5 jconn3d.jar com.sybase.jdbc3.jdbc. jdbc:sybase:Tds:<host>:5000/master
SybDriver
PostGre SQL 8.0 postgresql-8.0-310. org.postgresql.Driver jdbc:postgresql://<host>:5432/test
jdbc2.jar
Cache Cache 4 CacheDB.jar com.intersys.jdbc. jdbc:Cache://<host>:1972/samples
CacheDriver
Derby 10.5.1.1 derby.jar org.apache.derby.jdbc. jdbc:derby:D:\derby\demo\databases
EmbeddedDriver \toursdb

Note: If you want to use the DB2 app connection, you need to install the client and configure the net
address first.
Installing using the Installation Wizard
Installing JReport Server with the Installation Wizard is intuitive. You only need to follow the screens
and enter the required information. The Installation Wizard provides two installation types:
● Typical Installation for Standalone Server
Installs JReport Server with the default configuration settings.

● Custom Installation for Standalone Server


Installs JReport Server in a standalone environment. If you choose this installation type, you can
configure the server in the Installation Wizard.

This document shows you how to install the server to different systems with the Installation Wizard and
configure the server according to your requirements.

Installing on Windows
To install JReport Server on a Windows platform, take the following steps:
1. Download the JReport Server installation file for Windows SvrSetup.exe from the Jinfonet
download center: http://www.jinfonet.com/downloadjreport/.

2. Run SvrSetup.exe and follow the prompts to install.

During installation, pay attention to the following:


● The installer requires that you choose a Java JDK to complete the installation. You can download the
appropriate JDK from http://java.sun.com or your computer vendors web site.

● The Installation Wizard will first find a JVM to get started. If no JVM is found, the JReport installer
will fail to launch. To solve this issue, you can try either way:
❍ Set JAVA_HOME in system environment.

❍ Install JReport Server from a DOS command by specifying the LAX_VM option for the Installation
Wizard as follows:
SvrSetup.exe LAX_VM "C:\jdk1.6.0_17\bin\java.exe"

The JDK path should use absolute path and be quoted by "".

● The installer provides a chance for you to add additional class paths. You can also choose to add
them manually into the setenv.bat in <install_root>\bin after installation.

● If you select to install JReport Server in a folder that already contains an existing copy, the installer
will replace the packages and create new batch/script files. Meanwhile, a copy of the old batch/script
files will be kept for your reference. You should use the batch/script files that come with the installer
in order to make sure that all new packages are added to the class path and manually merge any
changes you made into the new version.

Installing on Unix
JReport Server supports Solaris, Linux, HP-Unix, and AIX. In the following process, an X server is
running and Java 1.5 or above is available, otherwise ask your administrator for help. Installing and
running JReport Server requires that an X server has been configured.
1. Download the JReport Server installation file for Unix SvrSetup.bin from the Jinfonet download
center: http://www.jinfonet.com/downloadjreport/.

If you need to transfer the installation file from your download machine to your Unix box, you
should transfer it using FTP in binary mode.

2. Click the executable file SvrSetup.bin to launch the Installation Wizard. Alternatively, you can
open a console window, and change the directory to the location of the SvrSetup.bin file. Following
are examples of the commands that can be used:
$ cd /opt/JReport/Server (or your preferred install location)

To make SvrSetup.bin executable, type the command:


$ chmod +x SvrSetup.bin

Run SvrSetup.bin:
$ ./SvrSetup.bin

The Installation Wizard will first locate a JVM to get started. If no JVM is found, the installer will
fail to launch. To solve this issue, you can try either way:
❍ Set JAVA_HOME in system environment.

❍ Specify a JVM for Installation Wizard with the option LAX_VM as follows:
$ ./SvrSetup.bin LAX_VM "/opt/jdk1.6.0_17/bin/java"

The JDK path should use absolute path and be quoted by "".

3. Once the Installation Wizard has successfully loaded, you can follow the standard prompts to
install JReport Server.

Installing on z/Linux
JReport Server supports Linux on IBM system z. In the following process, an X server is running and a
JDK specially used for IBM is available, otherwise ask your administrator for help. Installing and
running JReport Server requires that an X server has been configured.
1. Download the JReport Server installation file for z/Linux SvrSetup.bin from the Jinfonet download
center: http://www.jinfonet.com/downloadjreport/.

If you need to transfer the installation file from your download machine to your z/Linux box, you
should transfer it using FTP in binary mode.

2. Click the executable file SvrSetup.bin to launch the Installation Wizard. Alternatively, you can
open a console window, and change the directory to the location of the SvrSetup.bin file. Following
are examples of the commands that can be used:
$ cd /opt/JReport/Server (or your preferred install location)

To make SvrSetup.bin executable, type the command:


$ chmod +x SvrSetup.bin

Run SvrSetup.bin:
$ ./SvrSetup.bin

The Installation Wizard will first locate a JVM to get started. If no JVM is found, the installer will
fail to launch. To solve this issue, you can try either way:
❍ Set JAVA_HOME in system environment.

❍ Specify a JVM for Installation Wizard with the option LAX_VM as follows:
$ ./SvrSetup.bin LAX_VM "/opt/ibm-java2-sdk-6.0/bin/java"

The JDK path should use absolute path and be quoted by "".

3. Once the Installation Wizard has successfully loaded, you can follow the standard prompts to
install JReport Server.

Configuring the server


When installing JReport Server using the Installation Wizard, if you choose Custom Installation for
Standalone Server, you can configure the server according to your requirements during the installation.
You can configure the following items:
● Service

● Cluster

● E-mail

● Cache
❍ Cache Loaded Catalogs
Specifies whether to keep a catalog in memory, or to remove it from memory after a report set is
completed.
Normally, after a report set has been generated, the catalog that is used to generate the report set
will be removed from memory. However, if you specify this option, the catalog will be cached
rather than removed.
Cache Loaded Report Sets
Specifies whether to keep the report sets in memory or remove them from memory after they have
been generated.

● Performance
Pre-loading the Java classes and fonts which are used by catalogs, report sets and JReport Engine at
startup time will improve performance when these classes are needed at runtime.
❍ Preload Catalog Referred Classes
Pre-loads the Java classes that are used for a catalog.

❍ Preload Report Set Referred Classes


Pre-loads the Java classes that are used for a report set.

❍ Preload Engine Referred Classes


Pre-loads the Java classes that are used by JReport Engine to generate reports.

❍ Preload Fonts
Specifies to load the fonts when JReport Server is started rather than when they are first used.
❍ Maximum Number of Concurrent Report Sets in the Queue
Specifies the maximum number of concurrent report sets in the queue, which must be less than or
equal to the number that the license permits.

● Advanced

● Data Source
Installing silently
JReport provides two files for installing JReport Server silently without user participation in the
installation process. It is ServerInstall_typical.properties for the Typical Installation for Standalone
Server type and ServerInstall_custom.properties for the Custom Installation for Standalone Server
type.
Follow the steps below to install JReport Server silently:
1. Download the appropriate file from the Jinfonet website according to your requirement.

2. Some built-in demo report sets (\SampleReports\*.cls) with Derby as the data source (install_root
\db\SampleDB.script) have been provided. At the end of the installation, the installer will
configure the report sets and catalog to the correct data path. This calls some AWT classes that
require GUI support.
So, if you have an X server installed, you should set the Display variable so that this step can be
performed successfully.
$ DISPLAY=hostname(or IP address):0.0
$ export DISPLAY

Note: If you do not have X server or a pure text environment, this step can be ignored.
However, you may find that the demo report sets will not be able to run after you start the
JReport Server due to having the wrong default data source path. In this case, you can use
JReport Designer to publish some working report sets for testing purposes.
3. Run the following command, and JReport Server will be installed in the designated path:
$ ./SvrSetup.bin -i silent -f ServerInstall_typical.properties

Notes:
● When installing JReport Server silently, make sure you do not use overwrite installation, instead,
install the server to a new directory.

● When you install the Update or Service Pack silently, edit the property file update.properties in
<install_root>\help\server\en\samples to your own requirements. This file is used to create an
option file (i.e. response file) for the Installation Wizard. It predefines all the information that is
required for the installation.
You can also create a property file and save it as follows:
USER_INSTALL_DIR=/usr/local/JReport/Server
USER_KEY=UID
USER_PASSWORD=Password

Modify the above lines according to your own environment and configurations.
Installing using the console interface
JReport enables you to perform an interactive installation from a command prompt on platforms that
do not have GUI. In this way, you are able to see the installation status and follow the installation
process.
Take the following steps to perform console installation:
1. Download the installation program (SvrSetup.bin for Unix and z/Linux, SvrSetup.exe for Windows)
from the Jinfonet download center: http://www.jinfonet.com/downloadjreport/.

2. Run the following command:


For Unix and z/Linux:
$ chmod +x SvrSetup.bin
$ ./SvrSetup.bin -i console

For Windows:
SvrSetup.exe -i console

3. Make decisions following the installation process.


Installing on Unix manually
In some rare cases, JReport Server may fail to install on Unix directly. In this case, follow the steps
below to install it manually:
1. Install JReport Server on Windows following the steps in Installing on Windows, but don't start it.

2. Prepare a directory on Unix where you will copy the installation, for example /opt/JReport/
Server.

3. Modify javahome and reporthome in the following files to the Unix directories where the Java JDK
is located and the directory you are going to copy the release to. Be sure to modify them carefully.
Any mistake will cause problems starting JReport.
report.ini
servlet.properties
setenv.sh

4. Delete the file server.properties from <install_root>\bin if it exists and remember to reset the
required configuration settings on the JReport Administration page (8889 as the default port) after
launching JReport Server on Unix. The server.properties file is created if you use the custom
format to install.

5. Make a zip or jar archive of the above folders, and then copy it to your Unix system (use binary
format if using FTP).

6. Extract the folder in the destination directory in accordance with the path defined in the property
files.

7. Use the dos2unix command to convert all the .sh files under <install_root>/bin to the format
that can be recognized by Unix. You can execute the command like this:
$ dos2unix *.sh

8. Use the chmod command to set the converted files under <install_root>/bin to have read, write
and execute permission. You can execute the command like this:
$ chmod 777 *.sh

9. Start a shell (Console) and login as root or become the root user by running the su command.
Make JRServer.sh executable and then start JReport Server by running ./JRServer.sh.

Note: If you fail to intall JReport Server on your z/Linux system directly, you can also follow the above
steps to install the server manually.
Uninstalling
Use either of the following methods to remove JReport Server:
● From the Control Panel, open Add or Remove Programs, and then select JReport Server 10 to
uninstall it.

● Run uninstaller.exe (uninstaller on Unix) in <install_root>\_uninst.

Note: The uninstaller will remove all the files generated by the installer, while the files that are created
later by the program will be retained. They should be removed manually.
Solving installation problems
This section is trying to help you solve the problems you encounter during the installation.

Where to find log information


If error occurs during the installation, you can check the log information recorded to find out what the
problem is. Where logs are generated depends on when the installation process get stuck:
● If the installation is cancelled before you click the Install button on the installation wizard, logs are
created on the desktop for Windows and in the userhome directory for Unix/Linux.

● If the installation is cancelled after you click the Install button on the installation wizard, logs are
created in the logs folder in the installation root directory.

Besides, on a Windows platform, you can choose to specify the log destination that should use absolute
path and log file name when launching the installation wizard:
SvrSetup.exe -D$INSTALL_LOG_NAME$="Install.log" -D$INSTALL_LOG_DESTINATION$="D:\temp"

or
$ ./SvrSetup.bin -D$INSTALL_LOG_NAME$="Install.log" -D$INSTALL_LOG_DESTINATION$="/opt/
temp"

Feel free to send your questions to [email protected].

An issue on Windows Vista


Problem
When running JReport Server's installer on Windows Vista, the installer cannot find the installed JDKs.
Reason
By default Vista's security settings are stricter than Windows 2000, XP, and 2003. The children
processes do not inherit the execution right from their parent process.
Solution
Make the compatibility property of the installer file (.exe) available:
1. Right-click the installer file, and select Properties from the shortcut menu.

2. In the Compatibility mode panel of the Compatibility tab, check the Run this program in
compatibility mode for option, and then select Windows 2000 from the drop-down list.

3. Click OK.

4. Run the installer.


JReport Server reporthome directory overview
This section provides a general view of the directories in the JReport Server installation root, including
what they contain, what they are used for, and how to set their location if possible.
The following is a list of the server reporthome directories:

Directory Contents Directory location Configurability


_uninst Files used for uninstalling the JReport Fixed.
Server
bin Command, configuration, and Fixed.
properties files
db Demo report sets' database Fixed.
Demo Demo report sets used in the tutorial Fixed.
lessons
dynamicclasses UDS jar/zip files The directory location can be specified by
the server.dynamic.class.dir property in
the server.properties file in
<install_root>\bin.
font TTF font The directory location can be specified by
-Djreport.server.font.path or by the
server.font.path property in the server.
properties file in <install_root>\bin.
help Help documents introducing the Fixed.
function, features and usage of
JReport Server and JReport Designer
together with Tutorial manual.
history Version files The directory location can be specified by
the servlet.jrserver.initArgs property in
the servlet.properties file in
<install_root>\bin.
images Public images for DHTML Fixed.
jreports Demo report sets. Fixed.
When scheduling a task to disk, the
directory refers to the destination root
of the server resource tree.

lib Library files required by JReport Fixed.


runtime
logs Log files The directory is the default location for
log files.
ntservice Files for C program and for writing a Fixed.
Windows NT-service to run JReport
Server
prestart Reads customized configuration for Fixed.
launching JReport Console and
Administration pages from the Start
menu.
profiling Profiling related files Fixed.
properties Default location for JReport Server The directory location can be specified
realm database using the URL option on the JReport
Administration page > Data > Realm DB
> Configuration tab.
public_html Standalone web app folder Fixed.
realm Realm files Fixed.
resources Language packages for specifying Fixed.
JReport Server UI language.
scratchdir Output files of compiled JSPs The directory location can be specified by
the servlet.jspservlet.initArgs property in
the servlet.properties file in
<install_root>\bin.
script_files Script files for creating and deleting Fixed.
system database tables
style CSS style files and style group files The directory location can be specified by
stylePath in the report.ini file in
<install_root>\bin.
temp Engine temp files and Server temp For Engine temp files, the directory
result files location can be specified by tempPath in
the report.ini file in <install_root>\bin.

Fixed for Server temp result files.

txtdriver Demo report sets' flat data files Optional.


Upgrading from a Previous Version
Upgrading a standalone JReport Server and an integrated JReport Server involves different processes
while sharing some common steps. Both updated JReport Servers require converting the report
resources in the old version in order to comply with the new server version.

Upgrading in a standalone environment


JReport Server 10 provides two migration tools in <install_root>\bin folder, which can help you to
convert all the resources on the previous version of JReport Server before version 6.0. Resources the
migration tools cover include the security information (realm, user, group, protection, and ACL), report
resources (catalog and report sets), scheduled tables, completed tables, version and version tables,
and other relevant information (such as fonts, NLS, and style groups).
For versions later than V6.0 (included), the upgrade is performed automatically by JReport Server 10.
You need only install JReport Server 10 into the same directory as the old server version.
Note: When installing the JReport Server 10 into the same directory as the old version, the report level
resources in the old version will be maintained and not be replaced by the report resources of V10.

Upgrading a version between V5.2 Build 590 (included) and V6 (excluded) to


V10
You can make the upgrade using the migration tool MigrationV52.bat (MigrationV52.sh for Unix) that is
available in the <install_root>\bin folder. This tool is used to convert all the resources of the
versions between V5.2 Build 590 (included) and V6 (excluded) to the resources of JReport Server 10. If
you install the new version to the same folder as the old one, the parameter can be omitted.
● Usage
MigrationV52 [orgReportHome]

● Options
❍ orgReporthome
The reporthome of the original JReport Server. If this parameter is not provided, the reporthome of
JReport Server 10 will be used as its value.

Case 1: Installing JReport Server 10 to a new folder (recommended)


1. Provided that the old JReport Server is located in C:\JREntServer595. Install JReport Server 10 to
a new folder C:\JReport\ServerV10. DO NOT start the newly installed JReport Server.

2. In the DOS window, switch to <install_root>\bin, and run MigrationV52 C:\JREntServer595.

Case 2: Installing JReport Server 10 to the folder where the old version resides
1. Provided that the old JReport Server is located in C:\JREntServer595. Install JReport Server 10 to
the same location. DO NOT start the newly installed JReport Server.
2. In the DOS window, switch to <install_root>\bin, and run MigrationV52.bat.

Upgrading a version earlier than V5.2 Build 590 (excluded) to V10


You can do the upgrade using the migration tool MigrationBV52.bat (MigrationBV52.sh for Unix) that is
available in the <install_root>\bin folder. This tool is used to convert all the resources of versions
lower than V5.2 Build 590 to the resources of JReport Server 10. If you install the new version to the
same folder as the old one, the parameter can be omitted.
● Usage
MigrationBV52 [orgReportHome]

● Options
❍ orgReporthome
The reporthome of the original JReport Server. If the parameter is not provided, the reporthome of
JReport Server 10 will be used as its value.

Case 1: Installing JReport Server 10 to a new folder (recommended)


1. Provided that the old JReport Server is located in C:\JREntServer580. Install JReport Server 10 to
a new folder C:\JReport\ServerV10. DO NOT start the newly installed JReport Server.

2. In the DOS window, switch to <install_root>\bin, and run MigrationBV52 C:\JREntServer580.

Case 2: Installing JReport Server 10 to the folder where the old version resides
1. Provided that the old JReport Server is located in C:\JREntServer580. Install JReport Server 10 to
the same location. DO NOT start the newly installed JReport Server.

2. In the DOS window, switch to <install_root>\bin, and run MigrationBV52.bat.

Upgrading in an integration environment


1. Suppose that you already have a standalone JReport Server 10, whether it is installed directly or
upgraded from a previous version. In this step you need not convert the old version reports.

2. Use the JReport Server 10 to create a self-contained WAR/EAR file. For information on how to
create the WAR/EAR, see Building a WAR/EAR file to include a self-contained JReport Server.

3. Use the Java application server that integrates the previous version of JReport Server to deploy
the new self-contained WAR/EAR and update the old WAR/EAR with the new.
By now, if the previous version of JReport Server is later than V6.0 (included), the integrated
JReport Server has already been upgraded to V10. But if the previous version is earlier than V6.0,
go to step 4 and you need do further upgrade.

4. For a previous version between V5.2 Build 590 (included) and V6 (excluded): in the DOS window,
switch to <reporthome>\bin, and run MigrationV52.bat.

For a previous version earlier than V5.2 Build 590 (excluded): in the DOS window, switch to
<reporthome>\bin, and run MigrationBV52.bat.
Launching
After you have installed JReport Server, you must set up the reporting environment and start it before
you can access it via a web browser. This chapter provides you with detailed information of how to run
JReport Server in different running modes.
The following topics are discussed in this chapter:
● Setting up the reporting environment

● Running as a standalone server

● Running as an OS service

● Running within an application server


Setting up the reporting environment
Now that you have installed JReport Server, you can start it. However, it is better to first check the
reporting environment to see whether you have published the report sets including the catalog files,
added the necessary class paths, and set up the data sources.

Report set publishment & creation


The separation of the report set file and the data is powerful. It facilitates easy re-use of the report
set's layout. Report set files built with JReport Designer can then be published to JReport Server for
running in the thin-client/server mode. Today, computing is a service-based model in which web based
applications are rapidly replacing monolithic fat-client hosted and maintained software applications.
JReport Server is a high performance server for running report sets on demand or unattended on a
scheduled basis. In this environment, thousands of clients may view, print and generate new report
sets.
JReport Server has its own resource tree with each node mapping to a folder or file in your physical
drive. So when publishing report set files to the server, it is recommended that you check:
● Whether the report set files reside somewhere in the server machine.

● Whether the files are mapped in the resource tree.

● That not only the report set files, but also the catalog files (including the .fml file) exist and are in
the same directory. In addition, one directory can only contain one catalog. However, it can contain
many report set files which use that catalog.

Data sources
You may have your own catalogs and report sets that you developed, and want them to be run and be
distributed by JReport Server. In order to do this, the data sources used by your catalogs must be
correctly set to the runtime environment of JReport Server.
User data source
Append the class path of your user class files to the first item of the class path set in your batch file or
command line that starts JReport Server. If you are using JReport Server embedded in an application
server, add your user class files to the WAR file used to deploy JReport Server.

Additional class paths


If your report sets reference any external classes, you will need to add them to the class path option in
the batch file and command line that starts JReport Server. For example, if your report sets contain
user defined objects (UDO) or user defined formula functions, do not forget to add them to the class
path or to the WAR file.
Running as a standalone server
JReport Server can be started from the web application server contained in the JReport Server
package. This section explains how to start JReport Server as a standalone report server, how to send
commands to the server and how to use the batch files in the <install_root>\bin directory.

● Starting using launch files

● Starting using Java

● Sending commands to JReport Server from Java

● Running without a GUI


Starting using launch files
After you have installed JReport Server, many batch files are automatically generated in
<install_root>\bin. They are for assisting you with using and maintaining JReport Server. All of
these batch files can be edited to suit different circumstances. However, make sure that you
understand their functions when you want to edit them.
The following are the JReport Server launch files.

browser.bat
This tool detects the default client browser and installation path. It is invoked by launchpad.bat.

CmdSender.bat/CmdSender.sh
This tool is for sending commands to JReport Server. If the option "-s" or "-p" is not used, the JVM
system property "reporthome" must be defined so that CmdSender.bat/CmdSender.sh will use it to get
data from the local machine.
Usage
cmdsender [-s:<server> -p:<port> -u:<user>] -w:<password>
admin|shutdown|localshutdown|(local:on|off)
Options
● -s
The server host name.

● -p
The administration port.

● -u
The admin user name.

● -w
The admin password.

● shutdown
Shuts down the server.

● localshutdown
Shuts down the local server.

● local
The administration tasks are available to local host only.

● gc
Run the Java garbage collector.
DBMaintain.bat/DBMaintain.sh
This tool is for administrators to backup and restore JReport Server data. It is invoked by the following
command line:
Usage
DBMaintain -[?|cleanup|B<[systemtables|realmtables|profiling]:<filename>>|R<[systemtables|
realmtables|profiling]:<filename>>]
Options
● -?
Displays the usage information and then exits.

● -cleanup
Checks integrality of the server data and cleans up the invalid data.

● -Bsystemtables:<filename>/-Brealmtables:<filename>/-Bprofiling:<filename>
Backup the data in the database with the related data to a specified file.
For example, for backing up the server data realmtables to file c:\jsback.dat, you can type:
DBMaintain -Brealmtables:c:\jsback.dat

● -B0realmtables:<filename>
Only backup the data in the realm database.

● -Rsystemtables:<filename>/-Rrealmtables:<filename>/-Rprofiling:<filename>
Restore the data including the related data outside the database from a specified file.
For example, for restoring server data realmtables from the file c:\jsback.dat, you can type:
DBMaintain -Rrealmtables:c:\jsback.dat

● -R0realmtables:<filename>
Only restore the data in the realm database.

DJRServer.bat/DJRServer.sh
This tool is used to launch JReport Server with debug and log information. The output log files are in
the <install_root>\logs directory. In case of problems, you may run this batch to reproduce the
problem. Open the files to see the detail information and find out the problem. Send the log files to
[email protected] if you are unable to resolve the problem.

Usage
DJRServer [-?|-p <port>|-ap <adminport>|-realm <realmname>|-l backlog|-m <max>
|-t <timeout>|-s <filename>|-web <directory>|-env|-silent|
|-local|-vDebug|-vError|-jrs.admin.server <host:port>|-cleanup]
Options
● -?
Prints this help message.

● -p <port>
The port number to listen on.
● -ap <adminport>
The port number which is used by the administration tools.

● -realm <realmname>
Specifies the active realm.

● -l <backlog>
The maximum queue length for incoming connections.

● -m <max>
The maximum number of connection handlers.

● -t <timeout>
The connection timeout in milliseconds.

● -s <filename>
The servlet property file name. If this option is not used, the file servlet.properties in <install_root>
\bin will be used as the servlet property file when launching JReport Server.

● -web <directory>
The root directory when accessing the server via the web, its default value is <intall_root>
\public_html.

● -env
Prints the environment.

● -silent
No output is sent to the console.

● -local
The administration tasks are available on local host only.

● -vDebug
Enables JReport Engine to output messages to a file and sets all log files' trace levels to INFO and
error levels to WARN.

● -vError
Enables JReport Engine to output messages to a file and sets all log files' trace levels to OFF and
error levels to ERROR.

● -jrs.admin.server <host:port>
The admin server host and RMI port.

● -cleanup
Checks integrality of the server data and cleans up the invalid data.

JRServer.bat/JRServer.sh
This tool is used to launch JReport Server in standalone mode without any predefined options.
On Windows, you can start server by double-clicking on JRServer.bat. If you cannot start the server
successfully in this way, the reason will be displayed in the MS-DOS command prompt.
Usage
JRServer [-?|-p <port>|-ap <adminport>|-realm <realmname>|-l backlog|-m <max>
|-t <timeout>|-s <filename>|-web <directory>|-env|-silent|
|-local|-vDebug|-vError|-logall|-jrs.admin.server <host:port>|-cleanup]
Options
● -?
Prints this help message.

● -p <port>
The port number to listen on.

● -ap <adminport>
The port number which is used by the administration tools.

● -realm <realmname>
Specifies the active realm.

● -l <backlog>
The maximum queue length for incoming connections.

● -m <max>
The maximum number of connection handlers.

● -t <timeout>
The connection timeout in milliseconds.

● -s <filename>
The servlet property file name. If this option is not used, the file servlet.properties in <install_root>
\bin will be used as the servlet property file when launching JReport Server.

● -web <directory>
The root directory when accessing the server via the web, its default value is <intall_root>
\public_html.

● -env
Prints the environment.

● -silent
No output to the console.

● -local
The administration tasks are available on local host only.

● -vDebug
Enables JReport Engine to output messages to a file and sets all log files' trace levels to INFO and
error levels to WARN.

● -vError
Enables JReport Engine to output messages to a file and sets all log files' trace levels to OFF and
error levels to ERROR.

● -log[:file Name] (deprecated)


Outputs JReport Engine messages to the log file as specified and uses the -vDebug level.

● -logall
Sets all loggers' trace level to INFO and error level to WARN.

● -jrs.admin.server <host:port>
The admin server host and RMI port.

● -cleanup
Checks integrality of the server data and cleans up the invalid data.

Notes:
● You may need to set an appropriate -Dfile.encoding option in the file to start JReport Server in order
to view characters correctly.

● You may also need to set an appropriate -Dresolution option in the file to start JReport Server in
order to set the system resolution in DPI.

jrenv.bat/jrenv.sh
This tool is for generating the report environment file report.env in the current directory. This file can
help the Jinfonet support staff assist you when you run into problems.

launchpad.bat
This tool is used to launch JReport Server in the standalone mode and open the JReport Server Launch
Pad page.

makewar.bat/makewar.sh
See here.

MigrationBV52.bat/MigrationBV52.sh
This tool is used to convert all the resources from JReport versions which are lower than V5.2 Build 590
to the resources of JReport Server V8. If you install the new version to the same folder as the old one,
the parameter can be omitted.
Usage
MigrationBV52 [orgReportHome]
Options
● orgReporthome
The reporthome of the original JReport Server. If this parameter is not provided, the value of
"reporthome" of new JReport Server will be used as its value.

MigrationV52.bat/MigrationV52.sh
This tool is used to convert all the resources of which the versions are between V5.2 Build 590
(included) and V6 (not included) to the resources of JReport Server V8. If you install the new version to
the same folder as the old one, the parameter can be omitted.
Usage
MigrationV52 [orgReportHome]
Options
● orgReporthome
The reporthome of the original JReport Server. If this parameter is not provided, the value of
"reporthome" of new JReport Server will be used as its value.

NJRServer.bat/NJRServer.sh
This tool is used to launch JReport Server without JIT option. If your server often crashes with JIT
option, try this batch file instead of JRServer.bat.
Usage
NJRServer [-?|-p <port>|-ap <adminport>|-realm <realmname>|-l backlog|-m <max>
|-t <timeout>|-s <filename>|-web <directory>|-env|-silent|
|-local|-vDebug|-vError|-logall|-jrs.admin.server <host:port>|-cleanup]
Options
● -?
Prints this help message.

● -p <port>
The port number to listen on.

● -ap <adminport>
The port number which is used by the administration tools.

● -realm <realmname>
Specifies the active realm.

● -l <backlog>
The maximum queue length for incoming connections.

● -m <max>
The maximum number of connection handlers.

● -t <timeout>
The connection timeout in milliseconds.

● -s <filename>
The servlet property file name. If this option is not used, the file servlet.properties in <install_root>
\bin will be used as the servlet property file when launching JReport Server.

● -web <directory>
The root directory when accessing the server via the web, its default value is <intall_root>
\public_html.

● -env
Prints the environment.

● -silent
No output to the console.

● -local
The administration tasks are available on local host only.
● -vDebug
Enables JReport Engine to output messages to a file and sets all log files' trace levels to INFO and
error levels to WARN.

● -vError
Enables JReport Engine to output messages to a file and sets all log files' trace levels to OFF and
error levels to ERROR.

● -log[:file Name] (deprecated)


Outputs JReport Engine messages to the log file as specified and uses the -vDebug level.

● -logall
Sets all loggers' trace level to INFO and error level to WARN.

● -jrs.admin.server <host:port>
The admin server host and RMI port.

● -cleanup
Checks integrality of the server data and cleans up the invalid data.

register.bat
It is invoked by browser.bat.

RMIAuthFileCreator.bat/RMIAuthFileCreator.sh
This tool is used to generate the rmi authentication file. JReport Server uses the authentication file to
secure remote objects. If no argument was provided, an authentication file named "rmi.auth" will be
created in <install_root>\bin, using the userid and install key of JReport Server.

Usage
RMIAuthFileCreator [authFileName [userid key]]
Options
● ?
Shows the usage message.

● authFileName
The RMI authentication file name. If only input this argument, the userid and install key of JReport
Server will be used to create the authentication file.

● userid
The user ID, which will be used to generate the contents of the authentication file.

● key
The key which will be used to generate contents of the authentication file.

rp.bat/rp.sh
This tool is for replacing user ID and license key.
Usage
rp UID Key

rptconv.bat/rptconv.sh
This tool is for converting old report schema to be current with Version 8.
Usage
rptconv "-source=source_path" ["-target=destination_path"] [-r] [-s]

Options
● -source
Specify the source path of the reports that are to be converted.

● -target
Specify the destination path for the converted reports.

● -r
Replace the source report with the converted version.
If this option is set, ["-target=destination_path"] is ignored.
If both "-r" and "-target" are not specified, the converted reports are saved in the same directory as
the source reports and named as "converted_SourceReportName".

● -s
Convert all the reports in the specified directory, including the reports in all subdirectories.

Examples
● To convert a single report:
rptconv "-source=C:\JReport\Server\jreports\SampleReports\InvoiceReport.cls" "–
target=C:\temp"

This will convert C:\JReport\Server\jreports\SampleReports\InvoiceReport.cls to C:\temp


\InvoiceReport.cls.
rptconv "-source=C:\JReport\Server\jreports\SampleReports\InvoiceReport.cls" "–
target=C:\temp\1.cls.xml"

This will convert C:\JReport\Server\jreports\SampleReports\InvoiceReport.cls, save the converted


report to C:\temp, and name it as "1.cls.xml" (if license allows).
rptconv "-source=C:\JReport\Server\jreports\SampleReports\InvoiceReport.cls"

This will convert C:\JReport\Server\jreports\SampleReports\InvoiceReport.cls, save the converted


report in the same directory, and name it as "converted_InvoiceReport.cls".
rptconv "-source=C:\JReport\Server\jreports\SampleReports\InvoiceReport.cls" -r

This will overwrite C:\JReport\Server\jreports\SampleReportss\InvoiceReport.cls.

● To convert all reports (*.cls, *.rpt, *.clx, *.cls.xml) in a directory:


rptconv "-source=C:\JReport\Server\jreports" "–target=C:\temp"

This will convert all the reports in C:\JReport\Server\jreports and save the converted reports to C:
\temp. The converted reports use the same file names as source reports.
rptconv "-source=C:\JReport\Server\jreports" "–target=C:\temp" -s

This will convert all the reports in C:\JReport\Server\jreports and in the subdirectories and save the
converted reports to C:\temp. The converted reports take the same file names and directory
structure as source reports.
rptconv "-source=C:\JReport\Server\jreports" "–target=C:\temp\*.cls" -s

This will convert all the reports in C:\JReport\Server\jreports and in the subdirectories and save the
converted reports to C:\temp. The converted reports take the same directory structure as source
reports and the suffixes of their file names are all changed to ".cls".
rptconv "-source=C:\JReport\Server\jreports" -r -s

This will convert all the reports in C:\JReport\Server\jreports and in the subdirectories. The
converted reports overwrite the source reports.
rptconv "-source=C:\JReport\Server\jreports"

This will convert all the reports in C:\JReport\Server\jreports. All the converted reports are saved in
the same directory and named as "converted_SourceReportName".

● To convert a type of reports with same suffixes in a directory:


The usage is similar to converting a directory. You can specify the wildcard to filter reports, for
example:
rptconv "-source=C:\JReport\Server\jreports\SampleReports\*.cls" "–target=C:\temp"

This will convert all the reports with the suffix ".cls" in C:\JReport\Server\jreports
\SampleReports and save the converted reports to C:\temp.

Notes:
● There must be one and only one catalog file in the directory where the reports to be converted
reside.

● If the reports to be converted contain UDO or UDF, make sure the corresponding classes or jars are
included in the class path of rptconv.bat/rptconv.sh.

startAdministration.bat
This tool is used to launch the JReport Administration page from the Start menu after the server is
started.

startConsole.bat
This tool is used to launch the JReport Console page from the Start menu after the server is started.

stopServer.bat
This tool is used to exit JReport Server from the Start menu.

stopServer.sh
This tool is used to exit JReport Server.
Starting using Java
The class of the standalone server is jet.server.JREntServer. You can start JReport Server with the
following command instead of using the generated batch files:
JAVA -classpath <classpath> -Djava.compiler=NONE -Dreporthome=<install_root> jet.server.
JREntServer [options]

● -classpath
The class path must include the following packages originally in your <install_root>\lib:
JRESServlets.jar; JREntServer.jar; JREngine.jar; servlet.jar; log4j-1.2.8.jar;

● -Djava.compiler=NONE
This is without JIT. This is not a required option. However, if you encounter problems running the
server and you think that they relate to the Java VM, you can try turning off the JIT compiler and
then running again.

● -Djreport.url.encoding
Specifies the encoding to encode/decode escape characters in URL strings. If not specified, the
system default encoding will be used. For example: java ... -Djreport.url.encoding=8859-1...

● -Dreporthome
This is where JReport Server is installed. It is the Destination Location you specified when you
installed it. This option is required. When you set the reporthome, upon launching, JReport will try to
find the jslc.dat and report.ini files in <install_root>\bin and check whether they are valid. Jslc.dat
is the License control file. Open report.ini, and you will find the configuration information, including
the temp, template and the help path. JReport will use the temp path to export the temporary files
so you should make sure that the temp folder specified in report.ini exists and has space available.

● -Dfile.encoding
Specifies the encoding to encode/decode escape characters in the server data. If not specified, the
system default encoding will be used. For example: java ... -Dfile.encoding=8859-1...

● -Dresolution
Sets the system resolution in DPI. If not specified, the system default resolution will be used, which
is the resolution of your monitor, for example, -Dresolution=96.

● [options]
Option Description
-? Print brief help message.
-p port The port that this server listens on, default is 8888.
-ap adminport The port number that the remote administration uses, default is 8889.
-l backlog Maximum length of queue for incoming connection indications.
-m max Maximum number of connection handlers.
-t timeout Connection timeout in milliseconds.
-s filename Servlet property file name.
-realm realmname Active realm when the server starts up.
The specified realm should exist, otherwise the server will use an existing
realm as the active realm. The server will then record a warning message in
the log file, and set the selected active realm by the server.realm.active
property in the server.properties file.
-web directory Web application server root directory, default is <intall_root>
\public_html.
-local Administration on local host only.
-vDebug Enables JReport Engine to output messages to a file and sets engine log file's
trace level to INFO and error level to WARN.
-vError Enables JReport Engine to output messages to a file and sets engine log file's
trace level to OFF and error level to ERROR.
-env Print environment settings when the server starts up.
-silent Outputs nothing, not even the server start information.
-log[:file Name] Outputs JReport Engine messages to the log file as specified and uses the -
(deprecated) vDebug level.
-logall Sets all loggers' trace level to INFO and error level to WARN.
-jrs.admin.server The admin server host and RMI port.
host:port
-cleanup Checks integrality of the server data and cleans up the invalid data.

Notes:
● For detailed information on how to configure the logging and debugging information, read the
LogConfig.properties file in <install_root>\bin.

● Some of the common options will be used in later chapters. In addition, JReport has automatically
generated some batch files for you so that you do not have to write a complicated command line.
You can find these in the <install_root>\bin directory.
Sending commands to JReport Server from Java
After JReport Server has been started as a standalone server, you can send commands to the server to
either shut it down or pop up the user interactive interface for administration. All of these can be done
through the class jet.server.CommandSender. The full command is as follows:
JAVA -classpath <classpath> -Djava.compiler=NONE [-Dreporthome=<install_root>] jet.
server.CommandSender [-s:server -p:port] -w:password [-?]|admin|shutdown|gc|(local:on|
off)

● -?
Prints brief help message.

● -Djava.compiler=NONE
This is without JIT. This is not a required option. However, if you encounter problems running the
server and you think that they relate to the Java VM, you can try turning off the JIT compiler and
running again.

● -Dreporthome
This is where JReport Server is installed. It is the destination location you specified when you
installed it. It is required only if you do not execute the command from the local host on which
JReport Server is running.

● -Dpoperror=true
This property is used to control whether to pop up a message to show error information. The default
value is false which indicates that the error message will not be displayed.

● -Classpath
The class path must include the following packages originally in your <install_root>\lib:
JRESServlets.jar; JREntServer.jar.

● -s:server
Host name on which JReport Server is running.

● -p:port
The port JReport Server used for administration. The default value is 8889.

● -w:password
Password of the admin user. Example: -w:admin.

● admin
A command sent to the server asking to pop up the user interactive interface for administering
JReport Server.

● shutdown
A command sent to the server asking it to shut down.

● local:on
A command sent to the server asking to only allow the administration commands sent by the local
machine.

● local:off
A command sent to the server asking to accept administration commands from anywhere.
● gc
A command sent to the server asking the JVM to schedule the Java Garbage Collector.

Note: Some of the common options will be used in the later chapters. In addition, JReport has
automatically generated the batch file CmdSender.bat for you so that you do not have to write a
complicated command line.
Running without a GUI
Many environments, such as mainframe machines and dedicated servers, do not support a display,
keyboard, or mouse. JReport Server supports Java headless implementation, in which case you do not
have to install a third-party tool, such as PJA, XWindows, or XVFB, in order to run JReport in a non-GUI
environment.

Using Java headless implementation


JReport Server runs fluently in headless environments. What you need to do is make some simple
configuration changes before starting JReport Server in headless environments.
To launch JReport Server in a headless environment:
1. Add -Djava.awt.headless=true as a JVM parameter before starting JReport Server.

2. Start JReport Server.

Note: If JDK 6 is used, it is not necessary to add the parameter -Djava.awt.headless manually,
because JDK 6 can automatically give a value to the parameter according to the environment the
server will run. For example, if it is headless, the true value will be given.

Using a third-party tool (deprecated)


The method of using a third-party tool is no longer needed but is still available in this release. It may
be removed in the future. The following introduces three ways to run JReport Server on Unix without
GUI.

Running with XVFB


XVFB is an acronym of the Xserver Virtual Frame Buffer. It can provide a virtual Xserver and release
you from the need of a real Xserver. It runs without a head or graphics card. XVFB is freeware and can
be obtained from x.org's X11R6 distribution. Compiling it is supposedly difficult, however, there are
some Solaris binaries on certain sites, including:
● http://ferret.wrc.noaa.gov/Ferret/FAQ/graphics/Solaris_Xvfb.html

● ftp.xfree86.org/pub/XFree86/3.3.6/binaries/Solaris

● ftp.xfree86.org/pub/XFree86/4.0.1/binaries/Solaris

● ftp.xfree86.org/pub/XFree86/4.0.1/binaries/Solaris-8

● http://ferret.wrc.noaa.gov/Ferret/FAQ/graphics/Solaris_Xvfb.html

Take the following steps to run JReport Server with XVFB:


1. Install XVFB.

2. To have XVFB start up automatically when a workstation boots, you can add the Virtual Frame
Buffer to the Automatic Startup. That is, write a script /etc/init.d/xvfb as below, and make it
executable.
#!/bin/sh

mode=$1

case "$mode" in
'start')
# start the X Virtual Framebuffer (Xvfb)
if [ -f /usr/X11R6/bin/Xvfb ]; then
echo "***Starting up the Virtual Frame Buffer on Screen 1***"
/usr/X11R6/bin/Xvfb :1 -screen 0 1152x900x8 &
fi
;;
*)
echo " Usage: "
echo " $0 start (start XVFB)"
echo " $0 stop (stop XVFB - not supported)"
exit 1
;;
esac
exit 0

Then create a soft link to /etc/rc2.d/S98xvfb:


ln -s /etc/init.d/xvfb /etc/rc2.d/S98xvfb

If you need not to start XVFB automatically, you can manually start up XVFB:
/usr/X11R6/bin/Xvfb :1 -screen 0 1152x900x8 &

3. Set DISPLAY to screen 1 (assuming that JReport Server is running on machine jaguar).
DISPLAY=jaguar:1.0
export DISPLAY

Then, you can start JReport Server. Logging out the terminal may result in JReport Server shutting
down. To avoid this, you can first start JReport Server in the background using the command nohup:
nohup ./JRServer &. This command will continue running programs specified by you and enables
JReport Server to ignore hangup signals.

Running with PJA toolkit


When there is neither X Window, nor XVFB available, a PJA (Pure Java AWT) Toolkit is supported to run
JReport Server. This is a Java library for drawing graphics developed by eTeks. It supplies a
replacement AWT toolkit and eliminates the requirement of an X display. To use it:
1. Install PJA. The PJA package is not included in our product, go to http://www.eteks.com/pja/en/
to download PJA and install it.

2. Install JReport Server.

3. Assuming that SvrSetup.sh has been used to install JReport Server on a Non-GUI platform, modify
the file JRServer.sh in <install_root>\bin by appending /pja_2.4/lib/pjatools.jar to the
class path, and add the following options.
❍ -Xbootclasspath/a:pja.jar - (changing class path is not enough).

❍ -Dawt.toolkit=com.eteks.awt.PJAToolkit - This enables the changing of AWT Toolkit.

❍ -Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment - This enables the


changing of the Graphics environment.

❍ -Djava2d.font.usePlatformFont=false - This avoids the class sun.java2d.loops.


RasterOutputManager calling the native method getPlatformFontVar(), which can cause a JVM
crash.

❍ -Djava.awt.fonts=path - With path equal to the directory where the Lucida *.ttf files can be
found. You can add to the path other directories containing True Type Fonts by using a
separator.

❍ Either -Duser.home=dir with dir equal to the directory where the sub directory lib containing
PJA font.properties file can be found, or add lib/font.properties to the user.home system
property.

Below is an example of the modified file JRServer.sh that is used to start up JReport Server:
#!/bin/sh
CLASSPATH=$REPORTHOME/lib/commons-net-ftp-2.0.0.jar:
$REPORTHOME/lib/sac.jar:$REPORTHOME/lib/servlet.jar:
$REPORTHOME/lib/ant.jar:$REPORTHOME/lib/jasper-compiler.jar:
$REPORTHOME/lib/jasper-runtime.jar:$REPORTHOME/lib/JREngine.jar:
$REPORTHOME/lib/JRESServlets.jar:$REPORTHOME/lib/JREntServer.jar:
$REPORTHOME/lib/maintain.jar:$REPORTHOME/lib/mail-1.4.jar:
$REPORTHOME/lib/activation-1.1.jar:$REPORTHOME/lib/JRWebDesign.jar:
$REPORTHOME/lib/itext_1.5.4.jar:$REPORTHOME/lib/poiHSSF_151.jar:
$REPORTHOME/lib/xercesImpl.jar:$REPORTHOME/lib/xml-apis.jar:
$REPORTHOME/lib/hsqldb.jar:$REPORTHOME/lib/tar.jar:
$REPORTHOME/lib/jai_core.jar:$REPORTHOME/lib/jai_codec.jar:
$REPORTHOME/lib/commons-codec-1.2.jar:$REPORTHOME/lib/log4j-1.2.8.jar:
$REPORTHOME/lib/jsch-0.1.30.jar:$REPORTHOME/derby/lib/derby.jar:
$REPORTHOME/derby/lib/derbyclient.jar:$REPORTHOME/derby/lib/derbynet.jar:
$REPORTHOME/derby/lib/derbytools.jar:$JAVAHOME/lib/tools.jar:$ADDCLASSPATH

cd $REPORTHOME/bin
$JAVAHOME/bin/java -Dawt.toolkit=com.eteks.awt.PJAToolkit
-Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment
-Djava2d.font.usePlatformFont=false
-Djava.awt.fonts=/usr/j2se/jre/lib/fonts:
/JREntServer/font:/usr/openwin/lib/X11/fonts/TrueType
-Dinstall.root=$REPORTHOME/ -Djreport.url.encoding=UTF-8 -Xmx512m
-Dreporthome=$REPORTHOME jet.server.JREntServer "$@"

Notes:
● Printing reports is not supported.

● To support multiple encoding, the file charsets.jar in jre\lib should be added to -Xbootclasspath.
Without this Jar file, only the default encoding (iso8859-1) can be applied to JReport. For the
encoding types which are supported by charsets.jar, refer to the website http://java.sun.com/
j2se/1.4.2/docs/guide/intl/encoding.doc.html.

● If you are using other True Type Fonts instead of the fonts in X11, you should add the location of the
Lucida*.ttf files directory to -Djava.awt.fonts.

Starting from a telnet session with an X server installed


If you are using telnet to start JReport and your Unix has an X server installed, you can directly point
your display to your X server:
$ DISPLAY=hostname(or IP address):0.0
$ export DISPLAY

Then, you can run JReport Server or your application with JReport embedded.
Running as an OS service
JReport Server can be configured as an OS service. This section shows you how to run JReport Server
as a service of Windows XP, Unix and Linux.
● Running as a Windows Service

● Running as a service on Unix

● Running as a service on Linux


Running as a Windows Service
A tool is provided to assist you in installing JReport Server as a Windows Service. This tool JRservice.
exe can be found in <install_root>\bin.

You will get the following information if you run JRservice.exe without any options:
Usage:

JRService -install [-interactive] to install the service


JRService -remove to remove the service

-interactive to enable JReport Server service


to interact with the desktop

StartServiceCtrlDispatcher being called.


This may take several seconds. Please wait.

● JRService -install
Running JRservice.exe with the -install option will install JReport Server as a Windows Service. If you
open the Services item in the Control Panel, you will find a service named JReport Server in the list.

● JRService -install -interactive


If you use the -interactive option together with -install, the service installed will be run in interactive
mode. That is, when you start the service, a Command Prompt Window will pop up. However, if you
don't specify this option when you install the service, the Command Prompt Window will not be
displayed on the window when you start the service. After you have installed JReport Server as a
service, you will then be prompted to re-start your computer for the service installation to take effect.

● JRService -remove
Running JRservice.exe with -remove option removes the Windows service of JReport Server from
Windows. However, before you run this, you should stop the service.

Configuring JReport Server service


The parameters for the Windows service of JReport Server are read from the file NTService.ini in
<install_root>\bin.

In this file you will find three parameters specified, as shown in the following example:
JavaVM="C:\jdk1.6.0_17\jre\bin\java.exe"
StartArg= "-Dinstall.root=C:\JReport\Server"
-classpath "C:\JReport\Server\lib\JREntServer.jar;
C:\JReport\Server\lib\JREngine.jar;C:\JReport\Server\lib\servlet.jar;C:\TEMP"...
-Djava.compiler=NONE -Dreporthome=C:\JReport\Server jet.server.JREntServer
ShutdownArg= "-Dinstall.root=C:\JReport\Server"
-classpath "C:\JReport\Server\lib\JREntServer.jar;
C:\JReport\Server\lib\JREngine.jar;C:\JReport\Server\lib\servlet.jar;C:\TEMP" ...
-Djava.compiler=NONE
-Dreporthome=C:\JReport\Server jet.server.CommandSender localshutdown

● JavaVM
The path of the Java VM.

● StartArg
The Java command line for launching JReport Server as an independent web application server. This
will be called when the service is started.

● ShutdownArg
The Java command line for shutting down JReport Server. This is called when the service is stopped.

Starting the service


There are two ways to start the JReport Server service.
● After the server has been installed as a service, it is by default configured to start automatically each
time. In other words, without otherwise modifying the Control Panel, the service will start
automatically each time Windows is started.

● You can directly start the service through the Services item in the Control Panel. Open the Services
list, find JReport Server on the list, select it and click the Start button.

You can change the options in the file NTService.ini in <install_root>\bin before you start the
service. In the example above, there are no options specified in StartArg. If you would like to set all
error log levels to WARN and trace log levels to INFO, you will need to append -logall at the end, as in
the following example:
...
StartArg= "-Dinstall.root=C:\JReport\Server"
-classpath "C:\JReport\Server\lib\JREntServer.jar;
C:\JReport\Server\lib\JREngine.jar;C:\JReport\Server\lib\servlet.jar;
C:\JReport\Server\lib\log4j-1.2.8.jar;C:\TEMP" -Djava.compiler=NONE
-Dreporthome=C:\JReport\Server jet.server.JREntServer -logall
...

Reference: For more information on the options available, see Starting JReport Server using Java.

Stopping the service


There are three ways for you to stop the JReport Server service:
● Open the Control Panel, go to Administrative Tools, double-click the Services item, select
JReport Server, and then click the Stop button if it is not disabled.

● Run the batch file CmdSender.bat in <install_root>\bin with the localshutdown argument, for
example: <install_root>\bin\CmdSender.bat localshutdown.

● Use the Shut Down the Server button on the JReport Administration page.

Notes:
● All ODBC data sources used by the JReport Server Service belong to the System DSN. System data
sources can be used by all users on a computer, and are visible to all users on the computer and
system-wide services, such as Microsoft Windows services. User data sources can only be used by
the current user and are visible only to that user. To establish JReport Server as a service, you
should choose System Data Source. That is, define the data source in the System DSN. To do this,
open Data Source (ODBC) in Control Panel, and add the data source used by JReport Server to the
System DSN panel. Also, remove any old ones from the User DSN.

● When using NT service to start JReport Server, the mapped disk in path cannot be accessed due to
JVM limitation. You should use UNC path (e.g. \\127.0.0.1\public_write) instead of the mapped disk
it is mapped to (e.g. Z).
Running as a service on Unix
Assuming that JReport Server has been installed to /user/report/jns,

1. Write a script /etc/init.d/jrserver as below, and make it executable.


#!/bin/sh
mode=$1
if [ ! -d /user/report/jns ]
then # JReport not installed
exit 1
fi
case "$mode" in
'start')
if [ -d /user/report/jns ]
then
echo "Starting JReport Server"
/user/report/jns/bin/NJRServer.sh &
fi
;;
'stop')
if [ -d /user/report/jns ]
then
echo "Stopping JReport Server"
/user/report/jns/bin/CmdSender.sh localshutdown &
fi
;;
*)
echo " Usage: "
echo " $0 start (start JReport Server)"
echo " $0 stop (stop JReport Server)"
exit 1
;;
esac
exit 0

2. Create a soft link to /etc/rc2.d/S99jrserver.

ln -s /etc/init.d/jrserver /etc/rc2.d/S99jrserver

3. Create a soft link to /etc/rc0.d/K99jrserver.

ln -s /etc/init.d/jrserver /etc/rc0.d/K99jrserver
Running as a service on Linux
Running JReport Server as an OS service on Linux is more or less the same as with running on Unix.
Here it is assumed that your default start up rc is rc5.

Setting up XVFB
1. Install XVFB.

2. Write a script /etc/init.d/xvfb as below, and make it executable.


#!/bin/sh
mode=$1
case "$mode" in
'start')
echo "start xvfb "
if [ -f /usr/X11R6/bin/Xvfb ]
then
/usr/X11R6/bin/Xvfb :1 -screen 0 1152x900x8 &
fi
;;
*)
echo " Usage: "
echo " $0 start (start XVFB)"
echo " $0 stop (stop XVFB not support)"
exit 1
esac
exit 0

3. Create a soft link to /etc/rc5.d/S97xvfb.


ln -s /etc/init.d/xvfb /etc/rc5.d/S97xvfb

Using rc to run JReport Server as a service


Assuming that JReport Server has been installed to /JReport/Server.

1. Write a script /JReport/Server/bin/JRServer as shown below, and make it executable. Here it is


assumed that JReport Server is running on a machine with IP address 127.0.0.1.
#!/bin/sh
DISPLAY=127.0.0.1:1.0
export DISPLAY
/JReport/Server/bin/JRServer -silent "$@"

2. Write a script /etc/init.d/jrserver as below, and make it executable.


#!/bin/sh
mode=$1
if [ ! -d /JReport/Server ]
then # JReport not installed
exit 1
fi
case "$mode" in
'start')
if [ -d /JReport/Server ]
then
echo "Starting JReport Server"
cd /JReport/Server/bin/;
JRServer -silent &
fi
;;
'stop')
if [ -d /JReport/Server ]
then
echo "Stopping JReport Server"
/JReport/Server/bin/CmdSender localshutdown &
fi
;;
*)
echo " Usage: "
echo " $0 start (start JReport Server)"
echo " $0 stop (stop JReport Server)"
exit 1
;;
esac
exit 0

3. Create a soft link to /etc/rc5.d/S98jrserver.


ln -s /etc/init.d/jrserver /etc/rc5.d/S98jrserver

4. Create a soft link to /etc/rc5.d/K98jrserver.


ln -s /etc/init.d/jrserver /etc/rc5.d/K98jrserver

If all has been carried out successfully, the installation of the service will now have finished. JReport
Server is now ready to run as a daemon process.
Running within an application server
In addition to running as a standalone server and as a service, JReport Server can also run as a servlet
inside a Java application server. Since JReport Server is implemented using servlets and JSPs, it can
work with any servlet-enabled web application server by assembling and deploying JReport Server as a
Web Application Archive (WAR) or Enterprise Application Archive (EAR).
There is a separate chapter about integration with different application servers - Integrating with a
Java Application Server. It provides a general method for creating the deployable archive and detailed
procedures for deploying the archive into some popular application servers.
Basic Concepts
This chapter gives you some basic JReport Server concepts. You can first go through this chapter to
gain a general understanding about JReport Server before you use it. Also, while you are using JReport
Server, if you do not understand any of the basic concepts, you can refer to this chapter to get help.
This chapter discusses the following JReport Server main concepts:
● Background tasks

● Interactive reporting

● Scheduling

● Resource

● Version

● Security

● Integration

● JReport Server cluster


Background tasks
JReport Server provides a background running system, which shows the status information of tasks
submitted using the Run, Advanced Run, or Background Run mode. Status information includes: report
name, report set path and name, catalog path and name, running format, time when the task is
started/completed, time elapsed since the task is performed, and the status of the task. It allows you
to view detailed information in a timely fashion.
The records saved in the background running system are cleared under the following conditions:
● JReport Server is restarted.

● The maximum time limit specified for the report set result life has been reached. By default it is
86400 seconds (24 hours).

● The maximum time limit specified for the interval between a user logout and login has been reached.
By default it is 300 seconds.

● If the number of records exceeds the number specified for the background task list (by default it is
100 records), the latest 100 records will be retained.
Interactive reporting
JReport Server provides you with interactive reporting of DHTML reports. DHTML allows you to control
objects such as images, buttons, text fields, checkboxes, radio buttons, and drop-down lists.
With interactive DHTML output, you can dynamically modify - filter, search, sort and drill - reports to
obtain unique and personal data views. The DHTML toolbar and interactive web objects can be
embedded into reports or JSPs at design time, enabling you to control, customize and navigate report
views. JReport further extends interactive reporting by empowering applications with ad hoc reporting.
You can define report criteria and layout at runtime to generate interactive ad hoc reports.

Related topics:
● JReport Viewer - Interactive Reports
Scheduling
JReport Server provides a scheduling system which you can customize to suit your requirements. You
can submit a scheduled task from web page and URL or by calling the Server and Client API methods.
However, before you can do this, you must first specify the report set, catalog, task type and its launch
type. In addition, you can also customize notification messages to notify others of whether or not the
task is executed successfully.

User Task
In order to provide the means to run tasks defined outside of JReport on JReport Server, and to just
use JReport Server's schedule function, JReport provides a task named User Task. With this task, you
can implement a customized task with the schedule properties. Also, you can submit the user task from
a web page, or by calling JReport Server API methods.
After creating a class that implements the UserTask interface in the jet.server.api package and adding
the class to the class path, you can then submit the task either from a server web page or by calling
Server API methods. The task can then be run by the server at the scheduled times just as if it were a
report.

Trigger
The scheduling mechanism supports trigger conditions in addition to time conditions. Triggers are
managed by name in JReport Server, so each trigger must have a unique name. After creating a
trigger, you can submit a task that is bound with the trigger, and then fire the trigger to activate the
task at anytime.
Trigger conditions are based on event driven modes. The server does not care whether a customized
condition is ready. It only waits there for trigger firing events. Therefore, you determine whether the
condition is ready before firing a trigger.
Triggers can also work together with time conditions for activating a scheduled task.

Related topics:
● Scheduling report sets
Resource
JReport Server provides a resource system for managing a group of archive versions that can be
processed or organized.

What is a resource
Generally, a resource refers to report set related material. To be exact, a resource in the JReport
Server reporting system is a conceptual node. There are different types of resources, such as catalogs,
report sets, and report set results. A resource can only hold versions of the same type.

Resource tree
All the resources are organized in a folder-tree structure. JReport Server defines an XML file called
admin.xml, and the resource tree conforms to this file. This file is maintained automatically by JReport
Server.
For example, your company has two departments - Support and Marketing. Each department has its
report sets on their own machine. There are some report set documents that are submitted by the
departments located on the machine where JReport Server runs. Now, suppose you are the
administrator, and you would like to organize these files and folders into the Resource Tree. The
following diagram may help you to figure out the framework on which you should build the resource
tree.
The resource tree consists of the following three layers:
● Folder layer: Basic resource tree element that builds the main framework for the resource tree.
There are two built-in folders in the root of the resource tree -- Public Reports and My Reports. A
folder can be mapped to a real file path.

● Resource layer: An abstract layer, based on the Folder layer that hosts various types of archive
versions and provides user access to the versions.

● Archive layer: A concrete layer, where the archive versions reside for executable report sets, report
catalogs, and report set results, which function as the leaves of the resource tree.

Public Reports and My Reports


There are two built-in folders in the resource tree root - Public Reports and My Reports. You can create
your own folders in either of them. The Public Reports folder and the My Reports folder cannot be
deleted.
The Public Reports folder contains public report set documents and executable report sets, and can be
accessed by everyone. All folders except for the personal folders are public folders.
The My Reports folder is a personal folder. It contains personal report set documents and executable
report sets. Each user has one personal folder, specified by the administrator when the user account is
created. The My Reports folder can only be accessed by its owner, and the user has full control over his/
her personal folder. This folder is the default output location for report sets run by the user.

Report set
A report set is a collection of reports. All reports in one report set may share the same query, dataset,
parameters, NLS and style group properties. Generally, reports in one report set are designed for the
same purpose, or for related purposes. JReport Server supports viewing, running, scheduling and
managing of report sets.
An additional advantage of report sets is that all reports and subreports can share the same dataset
which means that only one query to the DBMS is required to run the reports and all of the subreports.
From a performance perspective, this is very important because if each subreport is a report set, then
each subreport will retrieve the data from the DBMS even though it may be identical to the main report
and other subreports.
The result version and the background run/scheduled/active/completed record are based on report set
level.
When viewing a report set directly, if DHTML is set as the default report view format, the report set
with all its reports will be run. Otherwise, only the default selected report will be run.
When using Advanced Run to run a report set, you can only select one report in the report set to run.
When using scheduling to publish a report set to the versioning system or to disk, the DHTML and
JReport Result formats are based on the report set level, that is, the report set with all selected reports
will be output to a single file. As for the other formats, each selected report will be output to a separate
file but you still have the convenience of scheduling all the reports with a single schedule entry.

Related topics:
● Managing resources
Version
JReport Server provides a versioning system for controlling the resources contained in the resource
tree. There are three different version types to select from: report set, catalog and result versions.
To understand what the versioning system is, first you have to understand the resource mechanism in
JReport Server. A resource in the JReport reporting system is a conceptual node, which holds a group
of archive versions that can be processed or organized in JReport Server. Information of these versions
is stored in the System DB database that JReport Server uses, while version files are saved in the
directory - <reporthome>\history.

There are three main types of resource nodes in the JReport folder-tree structure - catalogs, report
sets, and report set results. The three pink nodes are shown in the diagram below:

The System DB database stores archive versions in the three types of resource nodes. Thus, JReport
Server refers to different node types to import archive versions into the resource tree for being
processed or organized by you.

What is a version
All the resources in the resource tree are controlled by versions. A version is the fundamental unit of
the resource tree, and your resources might change over time. JReport Server uses a versioning
system to create and manage resources that have changed in content and properties owing to updates
issued upon them.
All the resources in the resource tree have versions. A large portion of resource management tasks are
done by managing resource versions.

Different version types


The versions in JReport Server fall into the following three major categories:
● Report Set Version
The version of a report set file.

● Catalog Version
The version of a catalog file.
● Result Version
The version of a report set result file.
The report set result can be generated and maintained in two places - the resource tree and the built-
in version folder.
When you schedule a report set to publish to the versioning system, you can choose an archive
location to generate the report set result. You can generate the report set result in the built-in
version folder, the My Reports folder or the Public Reports folder in the resource tree.
The report set results generated in the resource tree are standalone results and can have their own
versions, while those generated in the built-in version folder can only be bound with their respective
report sets.

Real path of versions


If you check the property of a version, you will find its real path. Remember that version information is
stored to a database, and version files are stored in the directory <reporthome>\history. For the
report set InvoiceReport.cls, the report set version's real path is <reporthome>\history\1
\JReport_System_User894485281\InvoiceReport.cls, which is the actual report set result path on
disk and stored in the server database. That is, when you click the InvoiceReport.cls report set result
resource on the server interface, you are accessing it on the disk, only the path to it is stored in the
database. And this works the same for both the report set version and the catalog version. When
clicking the report set/catalog resource on the server interface, you are accessing a cls/cat file on disk.

Archive policy
JReport Server uses an archive policy to control the resource versions. You can control whether or not
to use multiple versions for a specific resource. Also, you can define the maximum number of versions
that can be listed in the version table.
The archive policy can be applied to a single resource individually, or to many resources in a folder as a
whole.

Related topics:
● Managing versions
Security
JReport Server provides a security system for setting up and maintaining security on it, allowing you to
protect your resources from inappropriate access by other users.
To help you understand security in detail, the following security features with their concepts are
described below:

Realm
A realm is an abstract security concept, which hosts the resources and authentication entities on
JReport Server. There can be more than one realm on the server and each realm is independent from
others. The resources and authentication entities that reside in different realms are different.
At runtime, only one realm can be active and only the users and resources in the active realm are
accessible. A realm is identified by a unique name, which can contain any characters other than
forward slash (/) and backward slash (\).
The authentication entities consist of user accounts, group accounts and role accounts.

User
To use JReport Server, you must have a user account, which consists of a unique user name and
password. JReport Server verifies your identity when you type your user name and password and then
logs you on. If your user account has been disabled or deleted, JReport Server prevents you from
accessing the services that JReport Server provides, in order to ensure that only valid users have
access.
JReport Server comes with two built-in user accounts, which are admin and guest. The built-in user
accounts cannot be deleted. The admin user account can neither be deleted nor disabled.

Group
The principle group, which represents an organization of user accounts, is available for managing
users. Users or groups can then be added into a group as its child members, and therefore inherit the
resource and folder permissions from the group.

Role
Users must have certain user rights and permissions in order to perform tasks on resources. Roles,
which represent an aggregate of permissions, help you to efficiently assign the appropriate user rights
and permissions to users. Assigning roles to users gives them the user rights and permissions that they
require to perform their jobs with. A role can also be assigned to other groups or roles, and thus
groups or roles can inherit the permissions of other roles.
JReport Server comes with two built-in role accounts, which are administrators and everyone. The built-
in role accounts cannot be deleted. The administrator role account can neither be deleted nor disabled.
Permission
Permissions, associated with resources and folders, are the rules that are granted to users to control
their access to resources and folders.
Permissions in JReport Server include:

Permission Description
Visible Allows or denies viewing object names in the resource tree or version table, such as
folders, resources, and archive versions.
Read Allows or denies viewing object properties, versions, and, if it is a folder, folder
contents.
Write Allows or denies publishing folders and resources, changing the properties (not
including permission settings) of the objects in the resource tree or version table, such
as folders, resources, and archive versions, and modifying version table settings.
Execute Allows or denies running resources in normal and Advanced mode (report set type
resources only).
Schedule Allows or denies submitting resources to schedules (report set type resources only).
Delete Allows or denies deleting objects in the resource tree or version table, such as folders,
resources, and archive versions.
Grant Allows or denies granting permissions to other users, groups or roles. Users, groups or
roles that have obtained the Grant permission are also endowed with the other seven
permissions - Visible, Read, Write, Delete, Execute, Schedule, and Update Status, and
can grant these seven permissions except the Grant permission itself.
Update Allows or denies updating report set status, and if it is a folder, the status of report sets
Status in the folder.

Privilege
Privilege is a mode which manages permissions. It can be used to manage different access permissions
unrelated with nodes. Privilege of JReport Server manages the following two access permissions for
users:
● Publish
The privilege of publishing resources to JReport Server.

● Advanced properties
The privilege of viewing advanced information of version properties such as catalog connections and
report set related resources.

Alias
JReport Server organizes files and directories into a Resource Tree. Aliases are used to provide different
"views" of the tree for different users. For example, you may set an alias resource tree (based on the
resource tree) for Tanya, so that she can only see the marketing resource node and can directly enter
into the report set folder she is interested in. An alias is a combination of users and resource nodes.

Related topics:
● JReport Security System

● Managing security
Integration
JReport Server can be seamlessly integrated with any other Java application server to meet the
information delivery needs of a single department or an entire enterprise. It contains a rich set of APIs
that allow for seamless integration and is implemented using Java Servlet technology and Java Server
Page (JSP). These servlets and JSP pages enable the user to work with any Java EE compliant
application server that supports a Servlet Container and administer the JReport Server remotely
through a web browser.

Related topics:
● Integrating with a Java Application Server
JReport Server cluster
A JReport Server cluster is a distributed cluster in which a group of servers work together to provide
cluster-wide shared resources, security, schedules and version services. In a JReport Server cluster, all
clustered servers play exactly the same role and any one can exit from the cluster any time.
The JReport Server cluster provides the following major benefits:
● Manageability: All users and resources can be controlled from a clustered server, remotely.

● High-Availability: When one server fails to perform, the tasks running on it will be re-allocated to
other servers. If a server has already been fully utilized, the tasks sent to it will be allocated to the
other servers.

● Scaleable: You can add or remove servers dynamically according to your needs.

There are many nodes (clustered servers) in a JReport Server cluster.Every clustered server has the
same responsibility. You can set a clustered server to perform a specific role in a JReport Server cluster
by configuring its properties.

Related topics:
● Clustering
Accessing
You can access JReport Server in either browser/server mode (B/S) or in client/server mode (C/S). In
browser/server mode, you can use a web browser to access JReport Server. In client/server mode, you
can access JReport Server from one of our products: Client API, JReport Desktop Viewer, or the JReport
Viewer Bean. Both JReport Desktop Viewer and JReport Viewer Bean are based on the Client API.
This chapter presents to you two modes in which you can access JReport Server:
● Accessing in browser/server mode

● Accessing in client/server mode

● SSL in standalone JReport Server


Accessing in browser/server mode
This section shows you how to access JReport Server through a web browser such as Internet Explorer,
Firefox, or Chrome.

Starting and logging onto JReport Server


To log onto JReport Server, first start the server via one of the following ways:
● Double-click the JReport Server 10 shortcut on your desktop.

● Click Start > All Programs > JReport 10 > Server > Start JReport Server.

● Run the JRServer.bat/JRServer.sh file located in <install_root>\bin.

● Run the startup file from a command prompt or shell. For example, assume that JReport Server has
been installed in C:\JReport\Server on Windows or /opt/JReport/Server on Linux, you can type
the following commands:
C:\>cd JReport\Server\bin
C:\JReport\Server\bin>JRServer.bat
$cd /opt/JReport/Server/bin
$./JRServer.sh

Then,
● To access the JReport Console page:
1. Click Start > All Programs > JReport 10 > Server > JReport Server Console, or open a
web browser and set the URL to http://ip_or_hostname:port (by default, the port for
accessing the JReport Console page is 8888).

2. On the Welcome to JReport User Console page, click the Login Now button.

3. Type your user name and password as assigned by your administrator. For first time users, the
default user name and password are admin.

4. Click OK and the JReport Console page will be displayed.

● To access the JReport Administration page:


1. Click Start > All Programs > JReport 10 > Server > JReport Server Administration, or
open a web browser and set the URL to http://ip_or_hostname:port (by default, the port for
accessing the JReport Administration page is 8889).

2. Type your user name and password as assigned by the administrator. For first time users, the
default user name and password are admin.

3. Click OK and the JReport Administration page will be displayed.

Tip: If you don't know the IP address of the machine on which the server runs, and if it is the same
machine where you run JReport Server, you can use localhost instead of the IP address. You can also
open a console window such as telnet on the server machine and type hostname, then the name of
the host will be displayed.

Fast launch pad for local users


Local users can also access JReport Server in a fast way with the launch pad, which is a convenient
entry to access the server without having to start it. The launch pad provides some key functions of
JReport Server by setting up the connections to corresponding JReport Server JSPs, which are:
● Viewing the JReport sample reports

● Creating new reports

● Scheduling to run reports by time or event

● Configuring server profiles to customize the server interface and functionality

● Managing security principals

● Visiting the JReport Demo Center

To access the launch pad, click Start > All Programs > JReport 10 > Server > JReport Server
Launch Pad.

Additional login channel for admin users


JReport Server provides a special channel that creates an extra user session for management purposes
if the license limit of the maximum number of concurrent users has been reached. The extra user
session cannot be used to run report sets or submit schedules. It can only be used by admin users for
performing management operations. If your JReport Server license has a bounded limit to the
maximum number of concurrent users, this feature will take effect.
Only one extra valid user session can be created and used within this special channel at any time. If an
extra user session has already been created and it is still valid, your request for login will be prompted
with a confirmation page asking you whether or not to close the existing extra user session. If you
select Yes, a new extra user session will be created for you to perform management operations.
Otherwise, you will not be allowed to log onto JReport Server.
Note: If all normal user sessions have been used up, a request from a client viewer will be denied
permission to log onto JReport Server. Only a normal user session can use a client viewer to log onto
JReport Server, not the extra user session.

Logging off and shutting down JReport Server


To log off JReport Server, click the Logout link on the upper right corner of the JReport Administration/
Console page.
To shut down JReport Server normally:

● In a standalone environment, click the Shut Down the Server button on the JReport
Administration page, or click Start > All Programs > JReport 10 > Server > Stop JReport
Server.

● In an integrated environment, shut down the application server according to the vendor's
instructions.

Also, JReport provides a feature for handling an abnormal system exit that enables the program to
close itself gracefully when the Java virtual machine (JVM) is terminated in response to a user
interrupt, such as typing ^C, or a system-wide event such as user logoff or system shutdown.
Accessing in client/server mode
Besides a web browser, JReport Server supports three other viewers to browse report sets from a
client: JReport Desktop Viewer, JReport Client API and JReport Viewer Bean. Since JReport Desktop
Viewer, JReport Client API, and JReport Viewer Bean are based on the Client API, strictly speaking
there are two viewers: thin-client through a web browser and thick-client using the Client API.
Reference: For details about the usage of JReport Desktop Viewer, Client API and JReport Viewer
Bean, refer to JReport Desktop Viewer User's Guide in <viewer_install_root>\help\userguide if you
have installed it on your machine. Also, you can go to the Jinfonet website and read the online help at
http://www.jinfonet.com/kbase/viewer10/userguide/index.htm.

Accessing via JReport Desktop Viewer


JReport Desktop Viewer is a thick-client way to connect to JReport Server. It is based on the Client API
but with a Swing based GUI. Compared with a web browser, it has better compatibility with JReport
Server, and allows faster access but has more limited functionality. You can view existing report sets in
server either on a remote server or on your local disk. JReport Desktop Viewer also includes task
scheduling functionality. With this you can schedule and view report sets at any time and as often as
you want. Also, you can publish report sets to different formats. Finally, an important feature of
JReport Desktop Viewer is that it enables you to manage report sets such as adding/deleting report
sets and defining their properties. However, it does not support using the JReport Web features such as
sorting and filtering.
1. Download JReport Desktop Viewer for Windows or for Unix from Jinfonet website at http://www.
jinfonet.com/downloadjreport/additional.htm. You need to use JReport Desktop Viewer and
JReport Server of the same version (the same build number).

2. Follow the installation wizard to install JReport Desktop Viewer (by default, it is installed to C:
\JReport\Viewer).

3. Launch JReport Server using the batch file JRServer.bat in <server_install_root>\bin if it is not
already running.

4. After JReport Server is started, launch JReport Desktop Viewer using the batch JRViewer.bat
(JRViewer.sh on Unix) in <viewer_install_root>\bin.

5. In the Connect to JReport Server dialog, enter the host, port number, servlet path, user name and
password of JReport Server. The default servlet path is /jrserver. If you want to connect to
JReport Server with SSL support, check the SSL option. Then, click Connect to complete the
connection.

6. After being authenticated, you will see a resource tree in the Explorer tab of JReport Desktop
Viewer (or alias resource tree if defined), which corresponds to that of JReport Server.
JReport Desktop Viewer contains basic features such as exploring the resource tree, viewing
report sets and scheduling.
Accessing via Client API
The usual method to connect to JReport Server is through a web browser, such as Microsoft Internet
Explorer, Firefox, Google Chrome, or with JReport Desktop Viewer. However, what if you want to
integrate the client viewer into your own applications? The answer is you can. Both JReport Desktop
Viewer and JReport Viewer Bean are based on the Client API. Since the Client API and JReport Viewer
Bean share some functions, you can call methods in either of them. However, JReport Viewer Bean is
most often used in running report sets and exporting report set results to other formats or printers.
Client API has more flexibility including the scheduling feature.
When you install JReport Desktop Viewer, the archive file JREntViewer.jar for Client API is also installed
to <viewer_install_root>\lib at the same time. There are sample code files you can refer to in
<viewer_install_root>\help\samples. For details about using the Client API, refer to JReport
Desktop Viewer User's Guide in <viewer_install_root>\help\userguide.

Accessing via JReport (Client) Viewer Bean


JReport Viewer Bean is also based on Client API. JReport Viewer Bean enables you to connect with
JReport Server to run report sets, view report set results, and export report set results to other formats
(HTML, PDF, XLS, RTF, PostScript, Text, CSV, Applet), e-mail and printer.
For the usage of JReport Viewer Bean, refer to the JReport Desktop Viewer User's Guide in
<viewer_install_root>\help\userguide. You can go to http://www.jinfonet.com/downloadjreport/
additional.htm to download JReport Viewer Bean in which some demo sample code files are included.
SSL in standalone JReport Server
JReport Server supports HTTPS requests in standalone mode. Secure ports for HTTPS requests should
use different ports from non-secure ports for HTTP requests. By default, port 6888 and 6889 are set as
the secure ports separately for accessing JReport Console UI and JReport Administration UI. The URL
for visiting JReport Server via HTTPS schema is like this:
https://IP_address or localhost:6888

SSL support is disabled by default. You need to enable it and configure corresponding settings in order
to use HTTPS schema to visit JReport Server UI. This can be done either on the JReport Administration
page or in the server.properties file located in the <install_root>\bin directory.

To enable SSL function via the administration UI:


1. Log onto the JReport Administration page. The default port is 8889.

2. Click Configuration on the system toolbar, and then select Service from the drop-down menu.

3. Check the Enable Secure Socket Layer Connection option.

4. Make sure that Secure Port and Secure Administration Port use different port numbers from Port
and Administration Port.

5. Specify the other settings about Keystore.

6. Click Save.

7. Restart JReport Server in order for the settings to take effect.

To enable SSL function in the server.properties file:


1. Open the server.properties file located in the <install_root>\bin directory.

2. Set httpserver.ssl.enable to true.mi

3. Set the other properties starting with httpserver.ssl to meet your requirements.

4. Save the server.properties file.

5. Restart JReport Server in order for the settings to take effect.

Notes:
● JReport does not provide a keystore file since Jinfonet is not a trusted certificate authority and just
provides a Keystore File Path option for you to configure the location of your trusted keystore file.
There are many trusted authorities that can provide keystore files. Sun is one of them. Here is an
example of creating a keystore file provided by Sun: http://docs.sun.com/app/docs/doc/819-4674/
gdwpf?l=zh_TW&a=view.

● JReport Server Monitor does not support SSL.


Working with Report Sets
After successfully logging onto the JReport Console page using the user name and password assigned
by your administrator via a web browser, you can then perform tasks according to your requirements.
For example, you can view report sets in different formats, run them via URLs, schedule tasks for the
report sets and customize them by setting properties.
This chapter introduces how to view, run, customize and manage report sets in JReport Server as
follows:
● Running report sets

● Scheduling report sets

● Controlling report set versions

● Setting report set properties

● Linking report sets and catalogs

● Using JSPs to print report sets

● Deleting report sets

Tip: You can customize the JReport Console > Reports page to suit your requirements by setting your
own preferences. To do this, click Tools > Preferences on the task bar of the Reports page, then
specify the settings in the Preferences dialog as required. For example, you can specify the default
viewing format when directly run a report set from this page, set which columns will be shown in the
resource information table, and predefine the properties for each export format which will be applied
when you run or schedule a report set on this page.
Running report sets
To run report sets on JReport Server:
● If you just want to view a report set in the browser, on the JReport Console > Reports page, simply
click the name of the report set.

● If you want to run the report set in a specified format and save the report set result document, you
can use the Advanced Run mode to get the required report result.

● You can also input the URL of a report set directly into the address bar of the web browser to run it.

The following topics describe how to run report sets in detail:


● Viewing report sets

● Running report sets in Advanced mode

● Running report sets via URL


Viewing report sets
To view a specified report set, on the JReport Console > Reports page, browse to the report set, then
do one of the following:
● Click the name of the report set in the Name column of the Reports page.

● Select the report set row and click Run > Run on the task bar of the Reports page.

● Select the report set row, right-click in the row and select Run from the shortcut menu.

● Put the mouse pointer over the report set row and click the Run button on the floating toolbar.

Then, the last-time focused report in the report set when the report set is saved in JReport Designer
will be displayed according to its Default Format for Viewing Report property setting. If this property of
the last-time focused report in a report set is set to Server Setting, the viewing format will be
determined by the Default Format for Viewing Report option on the JReport Administration/Console
page > Profile > Customize Server Preferences > General tab. However, if the viewing format of the
last-time focused report in a report set is DHTML, no matter what viewing formats the other reports in
this report set are defined as in JReport Designer, all the reports in the report set will be opened in
DHTML format when you view this report set on JReport Server.
Running report sets in Advanced mode
Apart from simply running a report set to view it in the specified default format, JReport Server also
supports viewing a report set in other formats, and saving the report set result version according to
your requirements.
To run a report set in Advanced mode:
1. On the JReport Console > Reports page, browse to the report set you want to run in Advanced
mode.

2. Do either of the following:


❍ Select the report set row, then on the task bar of the Reports page, click Run > Advanced Run.

❍ Select the report set row, right-click in the row and select Advanced Run from the shortcut
menu.

❍ Put the mouse pointer over the report set row and click the Advanced Run button on the
floating toolbar.

The Advanced Run dialog is then displayed.

3. In the General tab, select the report in the report set you want to run (only one report in a report
set can be run in Advanced mode at a time). If the report has parameters, specify the parameter
values as required (for details, see General tab - Parameters). Then, specify the other options as
required.

4. In the Format tab, choose a format to view the report result, and set the other settings.

5. In the Archive tab, archive the report set result version according to your requirements.

6. If you want to limit the amount of time that the report is allowed to run, in the Duration tab,
specify a time duration for the task, and ask JReport Server to cancel the task or to notify you or
someone else of the task status via e-mail if the task has not yet finished running when the task
duration is up. For detailed information, see Task-level timeout for advanced run and schedule
tasks.

7. Click Finish to view the report in the format you specified.

See also Advanced Run dialog for details about options in the dialog.

Notes:
● If you choose to view the report result in DHTML format, besides the selected report, all the other
reports in the report set will also be run.

● When you run a report in Advanced mode in HTML format, the names of page navigation links in the
report, such as First, Previous, Next, and Last, can be localized according to your requirements. For
details, refer to Localizing the page navigation links in HTML report outputs.

● By default, the Duration tab is not displayed in the Advanced Run dialog. To make it available, the
Enable Task Duration option on the JReport Administration page > Configuration > Advanced panel
must be checked.
Running report sets via URL
Sometimes, you may want to reach a specific page by typing a full URL in a web browser instead of
clicking hyperlinks from the JReport Console page. This section explains to you how to run report sets
via URL in different ways.
● Running report sets via URL with protocols or commands

● Running report sets via URL with authentication parameters

● Running report sets via URL using the POST method

● Specifying parameter values using dialog when running report sets via URL

● Example 1: Accessing report sets via URL using the switching database command at runtime

● Example 2: Sending a large report set result by e-mail upon finishing

● Example 3: Running a report in a report set via URL

Related topics:
● Setting dynamic parameter values when running or scheduling a report set via API
Running report sets via URL with protocols or commands
With the commands below, you can directly type the whole URL in a web browser to access the
destination. The HTTP methods GET and POST are available for almost all of the commands.
● jrs.get_cat_rpts_new/jrs.get_subnodes
Description: Gets all resource nodes (folder, catalog, report set and result) of a folder.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_cat_rpts_new&jrs.
path=RESOURCENODE
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_cat_rpts_new&jrs.path=/
SampleReports
Response: Resource nodes list.

● jrs. get_node_prop
Description: Gets the properties of a resource node.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_node_prop&jrs.path=RESOURCENODE
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_node_prop&jrs.path=/
SampleReports/SampleReports.cat
Response: Resource node properties.

● jrs.delete_resource
Description: Deletes the resource node from the resource tree.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.delete_resource&jrs.path=RESOURCENODE
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.delete_resource&jrs.path=/
SampleReports/EmployeeInformation.cls

● jrs.get_rst_vers
Description: Gets a result version list of a report set.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_rst_vers&jrs.catalog=CATALOG&jrs.
report=REPORT_SET
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_rst_vers&jrs.catalog=/
SampleReports/SampleReports.cat&jrs.report=/SampleReports/EmployeeInformation.cls
Response: Result versions list.

● jrs.get_rpt_vers
Description: Gets a report set version list of a report set.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_rpt_vers&jrs.report=REPORT_SET
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_rpt_vers&jrs.report=/
SampleReports/EmployeeInformation.cls
Response: Report set version list.

● jrs.get_cat_vers
Description: Gets a catalog versions list of a catalog.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_cat_vers&jrs.catalog=CATALOG
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_cat_vers&jrs.catalog=/
SampleReports/SampleReports.cat
Response: Catalog versions list.

● jrs.get_rst_doc_vers
Description: Gets a result versions list of a result document. The result document can be generated
by advanced running or scheduling a report set.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_rst_doc_vers&jrs.result=RESULT
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_rst_doc_vers&jrs.result=/
SampleReports/EmployeeInformation
Response: Result versions list.

● jrs.get_ver_rst_page
Description: Gets a result version of the report set from the version manager.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_ver_rst_page&jrs.file=FILE_NAME
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_ver_rst_page&jrs.file=1%
5cJReport_System_User327406359%5cInvoiceReport.rst
Response: The result file from the version manager.

● jrs.get_ver_rst
Description: Gets an HTML page for viewing a result version of a report set with the ViewerApplet.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver/REPORT?jrs.cmd=jrs.get_ver_rst&jrs.file=FILE_NAME
URL Example: http://localhost:8888/jrserver/SampleReports/SampleReports.cat/
InvoiceReport.cls?jrs.cmd=jrs.get_ver_rst&jrs.file=1%5cJReport_System_User327406359%
5cInvoiceReport.rst
Response: HTML page for viewing the result file with the ViewerApplet.

● jrs.get_ondemands
Description: Gets a list of report sets run in background mode.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_ondemands
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_ondemands
Response: Background run report set list.

● jrs.view_ver_rst
Description: Views a result version of a report set.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver/REPORT?jrs.cmd=jrs.view_ver_rst&jrs.
hist_file=RESULT_VERSION_FILE_NAME&jrs.result_type=RESULT_TYPE&jrs.
applet_type=APPLET_TYPE[&jrs.isjrsapltpg=TRUE/FALSE][&jrs.is_multi_files=TRUE/FALSE]
[&jrs.is_applet_chart=TRUE/FALSE][&jrs.has_hyperlink=TRUE/FALSE][&jrs.
has_page_number=TRUE/FALSE][&jrs.use_table=TRUE/FALSE][&jrs.drilldown=TRUE/FALSE]
[&jrs.relative_font_size=TRUE/FALSE][&jrs.no_margin_html=TRUE/FALSE][&jrs.
web_browser=BROWSER_TYPE][&jrs.no_margin_pdf=TRUE/FALSE][&jrs.is_norm_txt=TRUE/FALSE]
[&jrs.delimiter=DELIMITER][&jrs.udchar_width=NUMBER][&jrs.udchar_height=NUMBER][&jrs.
no_margin_ps=TRUE/FALSE][&jrs.no_margin_rtf=TRUE/FALSE]

URL Example: http://localhost:8888/jrserver/SampleReports/SampleReports.cat/


EmployeeInformation.cls?jrs.cmd=jrs.view_ver_rst&jrs.hist_file=1%
5cJReport_System_User327406359%5cEmployeeInformation.rst&jrs.result_type=1

Notes:
❍ RESULT_TYPE:
0 - To Applet
1 - To HTML
2 - To PDF
3 - To TEXT
4 - To Excel
5 - To PostScript
6 - To Rich Text Format
7 - To XML
8 - To DHTML

❍ APPLET_TYPE:
2 - Java Plug-In 1.2 for Windows
3 - Java Plug-In 1.3 for Windows

❍ BROWSER_TYPE:
0 - IE or Chrome
1 - Firefox

● jrs.get_rpt_desc_page
Description: Gets an HTML page for entering parameter values and choosing the result type of a
report set.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_rpt_desc_page&jrs.
catalog=CATALOG&jrs.report=REPORT_SET
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_rpt_desc_page&jrs.
catalog=/SampleReports/SampleReports.cat&jrs.report=/SampleReports/InvoiceReport.cls

● jrs.get_rpt_param_page
Description: Gets an HTML page for entering parameter values of a report set.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_rpt_param_page&jrs.
catalog=CATALOG&jrs.report=REPORT_SET
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_rpt_param_page&jrs.
catalog=/SampleReports/SampleReports.cat&jrs.report=/SampleReports/InvoiceReport.cls

● jrs.del_rpt_ver
Description: Deletes a version of a report set.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver/REPORT?jrs.cmd=jrs.del_rpt_ver&jrs.
version_id=VERSION_ID
URL Example: http://localhost:8888/jrserver/SampleReports/SampleReports.cat/
InvoiceReport.cls?jrs.cmd=jrs.del_rpt_ver&jrs.version_id=103
● jrs.del_rst_ver
Description: Deletes a result version of a report set.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver/REPORT?jrs.cmd=jrs.del_rst_ver&jrs.
version_id=VERSION_ID
URL Example: http://localhost:8888/jrserver/SampleReports/SampleReports.cat/
InvoiceReport.cls?jrs.cmd=jrs.del_rst_ver&jrs.version_id=106

● jrs.del_rstdoc_ver
Description: Deletes a version of a result document.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.result=RESULT&jrs.cmd=jrs.del_rstdoc_ver&jrs.
version_id=VERSION_ID
URL Example: http://localhost:8888/jrserver?jrs.result=/SampleReports/
InvoiceReport&jrs.cmd=jrs.del_rstdoc_ver&jrs.version_id=108

● jrs.get_ver_param
Description: Gets the parameter file of a report set's result version.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver/REPORT?jrs.cmd=jrs.get_ver_param&jrs.
version_id=VERSION_ID
URL Example: http://localhost:8888/jrserver/SampleReports/SampleReports.cat/
InvoiceReport.cls?jrs.cmd=jrs.get_ver_param&jrs.version_id=103

● jrs.web_vw
Description: Runs a report set and views its result in a web browser.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver/REPORT?jrs.cmd=jrs.web_vw&jrs.
result_type=RESULT_TYPE&jrs.applet_type=APPLET_TYPE[_isMultiple_jrs.param
$NAME=true&jrs.param$NAME=VALUE&jrs.param$NAME=VALUE...][&jrs.isjrsapltpg=TRUE/FALSE]
[&jrs.is_multi_files=TRUE/FALSE][&jrs.is_applet_chart=TRUE/FALSE][&jrs.
has_hyperlink=TRUE/FALSE][&jrs.has_page_number=TRUE/FALSE][&jrs.use_table=TRUE/FALSE]
[&jrs.drilldown=TRUE/FALSE][&jrs.relative_font_size=TRUE/FALSE][&jrs.
no_margin_html=TRUE/FALSE][&jrs.web_browser=BROWSER_TYPE][&jrs.no_margin_pdf=TRUE/
FALSE][&jrs.is_norm_txt=TRUE/FALSE][&jrs.delimiter=DELIMITER][&jrs.
udchar_width=NUMBER][&jrs.udchar_height=NUMBER][&jrs.no_margin_ps=TRUE/FALSE][&jrs.
no_margin_rtf=TRUE/FALSE][&jrs.use_def_db_user=TRUE/FALSE][&jrs.db_user=DB_USER][&jrs.
db_pswd=DB_PASSWORD][&jrs.jdbc_url=JDBC_URL][&jrs.jdbc_driver=JDBC_DRIVER][&jrs.
rpt_language=RPT_LANGUAGE][&jrs.rpt_encoding=RPT_ENCODING][&jrs.wp=DBField='value']
[&jrs.named_wp=ExistedWhereportion][&jrs.report_sheet$RPT_NAME=true]

URL Example: http://localhost:8888/jrserver/SampleReports/SampleReports.cat/


InvoiceReport.cls?jrs.cmd=jrs.web_vw&jrs.result_type=1&jrs.param
$Country=Australia&jrs.param$State=New South Wales&jrs.param$City=Sydney&jrs.
is_multi_files=true&jrs.is_applet_chart=true&jrs.use_def_db_user=false&jrs.
db_user=dba&jrs.db_pswd=123456&jrs.rpt_language=en

Notes:
❍ RESULT_TYPE:
0 - To Applet
1 - To HTML
2 - To PDF
3 - To TEXT
4 - To Excel
5 - To PostScript
6 - To Rich Text Format
7 - To XML
8 - To DHTML

❍ APPLET_TYPE:
2 - Java Plug-In 1.2 for Windows
3 - Java Plug-In 1.3 for Windows

❍ BROWSER_TYPE:
0 - IE or Chrome
1 - Firefox

❍ Use jrs.param$NAME=VALUE to set parameter values of the report set. Where, NAME is the
parameter name and VALUE is the URL-encoded parameter value. For Example: jrs.param
$TERMSDAYS=30&jrs.param$PTODAY=May 21, 1998.

While, when specifying values for a multi-value parameter, you need to add _isMultiple_jrs.
param$NAME=true before the parameter values to declear that the parameter supports
multiple values. For example: &_isMultiple_jrs.param$PM=true&jrs.param$PM=3&jrs.
param$PM=16.

❍ If you want to run a specific report, use jrs.report_sheet$RPT_NAME=true to specify a report


in the current report set, where RPT_NAME is the report name of the specific report, not the
display name. For example, jrs.report_sheet$Report2=true.

To get the report name and display name of a report, you can make use of the API methods
getName() and getDisplayName() in the interface jet.server.api.ReportSheetInfo. For the
detailed usages, see JReport Server Javadoc located in <install_root>\help\server\en
\api.

❍ If you want to define a new WHERE portion from the URL, you can choose the property jrs.wp.
For example, the report set has a DBField Customer Region, and you want to restrict the field
Customer Region to CA in the URL. You can then set a new WHERE portion such as, "...jrs.
result_type=1&jrs.is_applet_chart=true&jrs.wp=Customers.Region='CA'...".

❍ If you want to set an existing WHERE portion in the URL, you should use the property jrs.
named_wp. For example, to set the existed WHERE portion Region from URL, use "...jrs.
result_type=1&jrs.is_applet_chart=true&jrs.named_wp=Region...". Here Region is the
WHERE portion's name.

● jrs.try_vw
Description: Tries to view a report set in a web browser.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver/REPORT?jrs.cmd=jrs.try_vw&jrs.
result_type=RESULT_TYPE&jrs.applet_type=APPLET_TYPE[&jrs.isjrsapltpg=TRUE/FALSE][&jrs.
is_multi_files=TRUE/FALSE][&jrs.is_applet_chart=TRUE/FALSE][&jrs.has_hyperlink=TRUE/
FALSE][&jrs.has_page_number=TRUE/FALSE][&jrs.use_table=TRUE/FALSE][&jrs.
drilldown=TRUE/FALSE][&jrs.relative_font_size=TRUE/FALSE][&jrs.no_margin_html=TRUE/
FALSE][&jrs.web_browser=BROWSER_TYPE][&jrs.no_margin_pdf=TRUE/FALSE][&jrs.
is_norm_txt=TRUE/FALSE][&jrs.delimiter=DELIMITER][&jrs.udchar_width=NUMBER][&jrs.
udchar_height=NUMBER][&jrs.no_margin_ps=TRUE/FALSE][&jrs.no_margin_rtf=TRUE/FALSE]
[&jrs.use_def_db_user=TRUE/FALSE][&jrs.db_user=DB_USER][&jrs.db_pswd=DB_PASSWORD]
[&jrs.jdbc_url=JDBC_URL][&jrs.jdbc_driver=JDBC_DRIVER][&jrs.rpt_language=RPT_LANGUAGE]
[&jrs.rpt_encoding=RPT_ENCODING][&jrs.wp=DBField='value'][&jrs.
named_wp=ExistedWhereportion][&jrs.report_sheet$RPT_NAME=true]

URL Example: http://localhost:8888/jrserver/SampleReports/SampleReports.cat/


EmployeeInformation.cls?jrs.cmd=jrs.try_vw&jrs.result_type=1

Notes:
❍ RESULT_TYPE:
0 - To Applet
1 - To HTML
2 - To PDF
3 - To TEXT
4 - To Excel
5 - To PostScript
6 - To Rich Text Format
7 - To XML
8 - To DHTML

❍ APPLET_TYPE:
2 - Java Plug-In 1.2 for Windows
3 - Java Plug-In 1.3 for Windows

❍ BROWSER_TYPE:
0 - IE or Chrome
1 - Firefox

● jrs.get_schedules
Description: Gets the schedules list.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_schedules
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_schedules

● jrs.del_schedule
Description: Deletes a schedule.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.del_schedule&jrs.task_id=TASK_ID
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.del_schedule&jrs.task_id=2003-
12-11 11:09:16.455

● jrs.enable_schedule
Description: Enables a schedule.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.enable_schedule&jrs.task_id=TASK_ID
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.enable_schedule&jrs.
task_id=2003-12-11 11:09:16.455

● jrs.disable_schedule
Description: Disables a schedule.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.disable_schedule&jrs.task_id=TASK_ID
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.disable_schedule&jrs.
task_id=2003-12-11 11:09:16.455

● jrs.get_new_schd_page
Description: Gets an HTML page in order to create a new schedule for the report set with a web
browser.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_new_schd_page&jrs.
catalog=CATALOG&jrs.report=REPORT_SET
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_new_schd_page&jrs.
catalog=/SampleReports/SampleReports.cat&jrs.report=/SampleReports/
EmployeeInformation.cls

● jrs.get_edit_schd_page
Description: Gets an HTML page to edit the schedule with a web browser.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_edit_schd_page&jrs.
task_id=TASK_ID
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_edit_schd_page&jrs.
task_id=2003-12-11 11:13:23.02

● jrs.get_completed
Description: Gets the completed tasks list.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_completed
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_completed

● jrs.del_completed
Description: Deletes a completed task.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.del_completed&jrs.id=RECORD_ID
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.del_completed&jrs.
id=1071119897006-154848108

● jrs.del_all_completed
Description: Deletes all completed tasks.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.del_all_completed
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.del_all_completed

● jrs.get_active
Description: Gets the active tasks list.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_active
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_active

● jrs.stop_task
Description: Stops an active task.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.stop_task&jrs.task_id=TASK_ID
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.stop_task&jrs.task_id= 2003-
12-11 11:13:23.02

● jrs.get_change_password_page
Description: Gets an HTML page in order to change the password with a web browser.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_change_password_page
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_change_password_page

● jrs.change_password
Description: Changes the password for a user.
HTTP Method: POST
Form Action: http://HOST:PORT/jrserver?jrs.cmd=jrs.change_password
Content Type: application/x-www-form-urlencoded
Content: jrs.cmd=jrs.change_password&jrs.uid=admin&jrs.password=CURRENT_PASSWORD&jrs.
new_password=NEW_PASSWORD&jrs.confirm_new_password=NEW_PASSWORD
Content Example: jrs.cmd=jrs.change_password&jrs.uid=admin&jrs.password=ad&jrs.
new_password=1234&jrs.confirm_new_password=1234

● jrs.get_preference_page
Description: Gets an HTML page in order to change the user preference settings with a web browser.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.get_preference_page
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.get_preference_page

● jrs.logout
Description: Logs out from the JRServlet.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.logout
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.logout

● jrs.login
Description: Logs into the JRServlet from a login dialog with web browsers or the JRViewer.
HTTP Method: GET/POST
URL Format: http://HOST:PORT/jrserver?jrs.cmd=jrs.login
URL Example: http://localhost:8888/jrserver?jrs.cmd=jrs.login

Tip: When running report sets to the PDF format via URL, you can encrypt the PDF results by using the
encrypting PDF properties.
Running report sets via URL with authentication parameters
Sometimes you are required to give your user name and password before you can run report sets.
Under this circumstance, if you want to avoid the login dialog in the web browser, use either of the
following two parameters:
● jrs.authorization
Tag of the HTTP query field jrs.authorization.
Description: Loads the JRServlet and avoids the login dialog in web browsers.
Format of the value of the HTTP query field: Base64-encoded (userID:password).
Example:
If the user ID and password are both set as admin, then the value of the HTTP query field is Base64-
encoded("admin:admin")="YWRtaW46YWRtaW4=", and the URL will be as follows:
http://localhost:8888/jrserver?jrs.cmd=jrs.get_subnodes&jrs.
authorization=YWRtaW46YWRtaW4%3D.

Note: The JRServlet does not check security when an HTTP request has no jrs.cmd in the HTTP
query in the root path of the JRServlet, and also does not accept the jrs.authorization for the
request http://localhost:8888/jrserver?jrs.authorization=YWRtaW46YWRtaW4%3D.

● jrs.auth_uid and jrs.auth_pwd


Tags of HTTP query field: jrs.auth_uid and jrs.auth_pwd.
Description: Loads the JRServlet and avoids the login dialog in web browsers.
Format of the value of the HTTP query field: jrs.auth_uid=USER_ID, jrs.auth_pwd=PASSWORD.
Example:
If the user ID and password are both set as admin, the URL will be as follows:
http://localhost:8888/jrserver?jrs.path=/SampleReports&jrs.cmd=jrs.get_subnodes&jrs.
auth_uid=admin&jrs.auth_pwd=admin

Note: The JRServlet does not check security when an HTTP request has no jrs.cmd in the HTTP
query in the root path of the JRServlet, and also does not accept the jrs.auth_uid and jrs.
auth_pwd for the request http://localhost:8888/jrserver?jrs.auth_uid=admin&jrs.
auth_pwd=admin.
Running report sets via URL using the POST method
● In HTML pages
Specify the POST as the method of a form in an HTML page.

● Using JRClient API or JRViewer Bean


Three methods: usePostAsDefaultMethod(), useGetAsDefaultMethod() and ifUsePostAsDefaultMethod
() can be used in the class jet.client.api.JRClient.

● In Java program
For example:
URL url = new URL("http://jrserver:8888");
URLConnection uc = url.getConnection();
if (uc instanceof HttpURLConnection) {
HttpURLConnection huc = (HttpURLConnection)uc;
//set use POST method.
huc.setRequestMethod("POST");
huc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
huc.setDoOutput(true);

//write the HTTP query to the output stream.


OutputStreamWriter writer = new OutputStreamWriter(huc.getOutputStream());
writer.write("jrs.cmd=jrs.get_subnodes");
writer.close();
huc.getHeaderField(0);

//get the response content from the server.


InputStream inStream = uc.getInputStream();
if (inStream != null) {
BufferedReader reader = new BufferedReader(new InputStreamReader(inStream));
String inputLine;
while (null != (inputLine = reader.readLine())) {
System.out.println(inputLine);
}
}
}
Specifying parameter values using dialog when running report sets via URL
When running a report set with parameters via URL, you need to manually enter the parameter values
in the URL string without any mistakes. You may find this painful sometimes because it's not easy to
remember all parameters in a report set. However, JReport provides you with the special JSP tryView.
jsp, which enables to display the Enter Parameter Values dialog to manage parameters.
The display of the parameter dialog requires:
● The reports have parameters.

● The URL calls tryView.jsp.

● No parameter specified in the URL or the parameters provided in the URL fail to include all necessary
parameters.

With the above three conditions fulfilled, the Enter Parameter Values dialog will be displayed right after
you finish the URL in the address bar and make it run. After setting the values and clicking OK in the
dialog, JReport Server will append the values to the URL string for you and execute the URL. However,
if you click Cancel in the dialog, the URL running will be cancelled.
Tip: If you want to specify parameters via dialog when running reports via URL, the most effective way
to display the parameter dialog is that you do not specify parameters at all in the URL.
Example 1: Accessing report sets via URL using the switching database command at
runtime
To access report sets via URL, you can switch the connection in the same database or between
different databases at runtime with the commands listed in the section Running report sets via URLs
with protocols or commands. As a result, if the databases you want to switch between have the same
structure, you will then be free from having to build another similar catalog. You can use the switch
database commands to set the JDBC connection or to change the user name/password in order to
connect to another database.

Switching the connection and user/password in the same database


1. Set the Oracle database named oracle815 connection when designing the report set Report1.cls,
and later switch the connection to the Oracle database named demo at runtime.
The URL for switching the connection:
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/Report1.cls?jrs.
cmd=jrs.try_vw&jrs.result_type=1&jrs.jdbc_url=jdbc:oracle:thin:@host:1521:demo

2. Specify the user ID system/manager to ensure security when designing the report set Report1.cls,
and then switch to the user ID Scott and the password tiger.
The URL for switching the user ID and password:
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/Report1.cls?jrs.
cmd=jrs.try_vw&jrs.result_type=1&jrs.db_user=Scott&jrs.db_pswd=tiger

3. Set the Sybase 12 database named master when designing the report set Report1.cls, and later
switch the connection to the Sybase 12 database named product at runtime.
The URL for switching the connection:
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/Report1.cls?jrs.
cmd=jrs.try_vw&jrs.result_type=1&jrs.jdbc_url=jdbc:sybase:Tds:host:5000/product

4. Set the SQL database named MBA2000 when designing the report set Report1.cls, and later
switch the connection to the SQL database named JTTest at runtime.
The URL for switching the connection:
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/Report1.cls?jrs.
cmd=jrs.try_vw&jrs.result_type=1&jrs.jdbc_url=jdbc:inetdae:host:1433?
database=JTTest&sql7=true

Switching the connection between different databases


1. Set oracle815 connection when designing the report set Report1.cls, and then switch the
connection to Access database with the JDBC-ODBC driver named products at runtime.
The URL for switching the connection:
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/Report1.cls?jrs.
cmd=jrs.try_vw&jrs.result_type=1&jrs.jdbc_driver=sun.jdbc.odbc.JdbcOdbcDriver&jrs.
jdbc_url=jdbc:odbc:products

2. Set oracle815 connection when designing the report set Report1.cls, and then switch the
connection to SQL server database named products at runtime.
The URL for switching the connection:
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/Report1.cls?jrs.
cmd=jrs.try_vw&jrs.result_type=1&jrs.jdbc_driver=com.inet.tds.TdsDriver&jrs.
jdbc_url=jdbc:inetdae:JT_P05:1433?database=products&sql7=true
Example 2: Sending a large report set result by e-mail upon finishing
Here two ways are provided to publish a large report set result via URL: JSP and servlet. Take the
following examples to publish a large report set result by e-mail and to customize the message
displayed in the web browser.
● JSP parameter specification
jrs.catalog=%2fcatalog path%2fcatalog name
jrs.report=%2freport set path%2freport set name
jrs.timeout_send_email=true/[false]
jrs.report_timeout=number (if timeout >number and jrs.timeout_send_email=true, send mail)
jrs.mailto=mail address
jrs.mailsubject=mail subject
jrs.result_type=1 (HTML) or 2(PDF) or 3(Text) or 4(Excel) or 5(PostScript) or 6(Rich Text) or 7(XML)
jrs.mailcomments=mail content
jrs.mailfrom=mail address of sender
jrs.timeout_sendmail_message=the message which you customize
There are two server JSPs for running a report set:
❍ tryView.jsp
This is the normal method of accessing report sets using URLs. If the report set has parameters
and the parameters provided in the URL fail to include all necessary parameters, the Enter
Parameter Values dialog will be shown for you to specify parameters, otherwise it will directly go to
runReport.jsp. For more, see Specifying parameter values using dialog when running report sets
via URL.

❍ runReport.jsp
The runReport.jsp functions the same as tryView.jsp when the report set has no parameter. When
it has parameters, the report set runs with the default parameters if no parameter is specified, or
else it runs with the parameters specified in the URL.

When you use tryView.jsp to run a report set without a parameter:


http://localhost:8888/jinfonet/tryView.jsp?jrs.cmd=jrs.try_vw&jrs.catalog=%
2fSampleReports%2fSampleReports.cat&jrs.report=%2fSampleReports%2fEmployeeInformation.
cls&jrs.timeout_send_email=true&jrs.report_timeout=5&jrs.mailto=support@jinfonet.
com&jrs.mailsubject=TaskForTimeoutSendEmail&jrs.result_type=1&jrs.
mailcomments=IFTHEREPORTISFINISHEDTHERESULTWILLBESENT&[email protected]

When you use runReport.jsp to run a report set with parameters:


http://localhost:8888/jinfonet/runReport.jsp?jrs.cmd=jrs.web_vw&jrs.catalog=%
2fSampleReports%2fSampleReports.cat&jrs.report=%2fSampleReports%2fCustomerAnalysis.
cls&jrs.param$P_StartDate=01/01/2006&jrs.param$p_EndDate=12/31/2007&jrs.
timeout_send_email=true&jrs.report_timeout=1&[email protected]&jrs.
mailsubject=AboutTaskForTimeout&jrs.result_type=1

● Servlet parameter specification


jrs.cmd=jrs.try_vw (when the report set has no parameter)
jrs.cmd=jrs.web_vw (when the report set has parameter)
jrs.timeout_send_email=true/[false]
jrs.report_timeout=number (if timeout >number and jrs.timeout_send_email=true, send mail)
jrs.mailto=mail address
jrs.mailsubject=mail subject
jrs.result_type=1 (HTML) or 2(PDF) or 3(Text) or 4(Excel) or 5(PostScript) or 6(Rich Text) or 7(XML)
jrs.mailcomments=mail content
jrs.mailfrom=mail address of the sender
jrs.timeout_sendmail_message=the message that you can customize
When you use a servlet to run a report set without a parameter:
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/EmployeeInformation.
cls?jrs.cmd=jrs.try_vw&jrs.timeout_send_email=true&jrs.report_timeout=1&jrs.
[email protected]&jrs.mailsubject=AboutTaskForTimeoutSendEmail&jrs.
result_type=1&jrs.mailcomments=COUNTRECORDSPERPAGE

When you use a servlet to run a report set with a parameter:


http://localhost:8888/jrserver/SampleReports/SampleReports.cat/CustomerAnalysis.cls?
jrs.cmd=jrs.web_vw&jrs.param$P_StartDate=01/01/2006&jrs.param
$p_EndDate=12/31/2007&jrs.timeout_send_email=true&jrs.report_timeout=1&jrs.
[email protected]&jrs.mailsubject=TaskForTimeoutEmail&jrs.result_type=1&jrs.
mailcomments=CUSTOMERORDER

● Customize your message to be displayed in the web browser


You can set a message by setting the parameter jrs.timeout_sendmail_message.
For example, you want to display message as below:
Running <report name> takes more than <Timeout> seconds.
The subject is <mail subject> and has been sent to <mailto> from <mailfrom>
It is a file whose type is <type>.
Then you can set the parameter in URL:
jrs.timeout_sendmail_message=Running {6} takes more than {0} seconds.<p>The subject is {2}
and has been sent to {1} from {5}.<p>It is a file whose type is {3}.
Where
{0} - The report set timeout
{1} - mail to
{2} - mail subject
{3} - result type
{4} - mail comment
{5} - mail from
{6} - Catalog name/report set
<p> - an Enter key
Example
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/CustomerAnalysis.cls?
jrs.cmd=jrs.web_vw&jrs.param$P_StartDate=01/01/2006&jrs.param
$p_EndDate=12/31/2007&jrs.timeout_send_email=true&jrs.report_timeout=1&jrs.
[email protected]&jrs.mailsubject=AboutTaskForTimeoutSendEmail&jrs.
result_type=1&jrs.mailcomments=CustomerAnalysis&[email protected]&jrs.
timeout_sendmail_message=...

This {6} is a large report set whose runtime is over {0} seconds.<p>The report is sent to {1} from
{5}.<p>The subject of the mail is {2}.<p>Its type is {3}.
Note: You should type the sign " ' " twice if you use it in the message.
Example 3: Running a report in a report set via URL
You can use the following command to specify a specific report in the current report set:
jrs.report_sheet$RPT_NAME=true

Where, RPT_NAME is the report name of the specific report, not the display name.
To get the report name and display name of a report, you can make use of the API methods getName()
and getDisplayName() in the interface jet.server.api.ReportSheetInfo. For the detailed usages, see
JReport Server Javadoc located in <install_root>\help\server\en\api.

The URL for running a report Applet within the report set MultimediaObjects.cls is as below:
http://localhost:8888/jinfonet/tryView.jsp?jrs.cmd=jrs.try_vw&jrs.catalog=%
2fSampleReports%2fSampleReports.cat&jrs.report=%2fSampleReports%2fMultimediaObjects.
cls&jrs.result_type=8&jrs.report_sheet$Report1=true

Or
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/MultimediaObjects.cls?
jrs.cmd=jrs.try_vw&jrs.result_type=8&jrs.report_sheet$Report1=true
Scheduling report sets
JReport Server can run report sets at a specified time or periodically by scheduling tasks for report
sets. The scheduled tasks will be recorded by the server according to their different executing status.
Pick a topic from the following for details about how to schedule tasks in JReport Server:
● Scheduling report sets with dialog

● Scheduling report sets via URL

● Scheduling a task containing a bursting report

● Scheduling a customized task using User Task

● Recording scheduled tasks

● Viewing scheduled report set results

● Importing and exporting scheduled tasks

● Adding TaskListener

Notes:
● When you schedule to publish the report in a report set to DHTML format, if the report is linked to
another report, in the DHTML result, the link will no longer be supported, and if you schedule to
publish the report to several formats and DHTML format is included at the same time, the link will not
be available in the other format outputs either.

● When you schedule to publish the report in a report set to HTML format, the names of page
navigation links in reports in the report set, such as First, Previous, Next, and Last, can be localized
according to your requirements. For details, refer to Localizing the page navigation links in HTML
report outputs.
Scheduling report sets with dialog
You can schedule tasks for a specified report set with dialog as follows:
1. On the JReport Console > Reports page, browse to the report set you want to schedule to run.

2. Do either of the following:


❍ Select the report set row, then on the task bar of the Reports page, click Run > Schedule.

❍ Select the report set row, right-click in the row and select Schedule from the shortcut menu.

❍ Put the mouse pointer over the report set row and click the Schedule button on the floating
toolbar.

The Schedule dialog is then displayed.

3. In the General tab, select the reports you want to run from the report set. You can choose
multiple normal reports or one bursting report at a time (for scheduling a bursting report, see
Scheduling a task containing a bursting report). If the selected reports have parameters, specify
the parameter values as required (for details, see General tab - Parameters). Then, specify the
other options as required.

4. In the Publish tab, specify the type of the task.


Six task types are provided by JReport Server: publishing to version, publishing to disk, publishing
to e-mail, publishing to printer, publishing to fax and publishing to FTP. Choose the type you want
to publish, and then set the settings for the specified type.

5. In the Conditions tab, specify the time for when the task is to be performed in the Time sub tab,
and select or create a trigger to bind with the task in the Trigger sub tab.

6. In the Notification tab, specify to notify someone via e-mail of when the task is finished and
whether it is successful or unsuccessful.

7. In the Duration tab, specify a time duration for the task, and ask JReport Server to cancel the task
or to notify you or someone else of the task status via e-mail if the task has not yet finished
running when the task duration is up. For detailed information, see Task-level timeout for
advanced run and schedule tasks.

Note: By default, the Duration tab is not displayed in the Schedule dialog. To make it
available, the Enable Task Duration option on the JReport Administration page >
Configuration > Advanced panel must be checked.
8. Click Finish, and JReport Server will then perform the task.

See also Schedule dialog for details about the task types and settings in each tab.

The following are some specific scheduling examples:


● Example 1: Publishing a report set to the versioning system

● Example 2: Publishing a report set to the file system


● Example 3: Publishing a report set to e-mail

● Example 4: Publishing a report set to printer

● Example 5: Publishing a report set to fax

● Example 6: Publishing a report set to an FTP site


Example 1: Publishing a report set to the versioning system
In this example, a task is set up and will be performed immediately. The generated result is asked to
be kept for 30 days.
1. On the JReport Console > Reports page, select the report set row, right-click in the row and select
Schedule from the shortcut menu to display the Schedule dialog.

2. In the General tab,


a. Specify a name for the task in the Schedule Name text box.

b. Assign a priority to the task from the Priority drop-down list.

c. In the Enter Parameters panel, select the reports you want to run from the report set.

d. If the selected reports have parameters, specify the parameter values as required.

e. Expand the Report Set Info panel, click Select Another Catalog to specify another catalog
for the report set if required.

f. Select the report set version and catalog version from the corresponding drop-down lists.

g. Expand the Advanced panel, if the report set has a style group, check the Enable Style
Group checkbox and choose the style group.

h. Check the Enable Converting Encoding option if required and specify the encoding before
and after converting from the corresponding drop-down lists.

i. Enter a name for the task in the Name of the schedule field.

j. Define the encoding for the report set by selecting from the drop-down list.

k. Check Use the default DB user and password defined in catalog.

l. Check the Add TaskListener to be Invoked option, and input the class name (for details,
see Adding TaskListener).

m. Check the Enable Auto Recover Task option to specify auto recovering settings.

3. In the Publish tab,


a. Click the To Version sub tab, then check Publish to Versioning System.

b. Select the required formats and set the format settings.

c. Check the Built-in Version Folder option in Archive Location to save the report set result
version in the built-in version folder.

d. Set 0 for the Maximum Number of Versions.

e. Check the Result Auto-delete option and define the result to expire in 30 days.

4. In the Conditions tab, select the Time sub tab, define the time zone from the Time Zone drop-
down list, then from the Time Type drop-down list, choose Run this task immediately.

5. If you want to notify someone of when the task is finished by sending an e-mail, go to the
Notification tab and then set the settings.

6. If you want to specify a timeout for the task, specify the settings in the Duration tab as required.

7. Click Finish to have the task performed.

Then, click My Tasks on the system toolbar. While the task is being performed, you can see a record
of it in the Running tab. On completion it will be put into the Completed tab.
Notes:
● When publishing a report set to XML format, if you want to use the URL to get the .xsd file, follow
the steps below:
1. Put the existing XML schema file in <intall_root>\public_html.

2. Input http://IP address:8888/name of the existing XML schema file.

● There is another way to publish the report set result to version. If you have set the property server.
version.from.temp to true in the server.properties file in <install_root>\bin, or selected the option
Enable "Publish to Versioning System" for Background Tasks View on the JReport Administration page
> Configuration > Advanced panel, you will get the link Publish to Version System on the system
toolbar of the JReport Console page. Click the link to publish the result to version.
Example 2: Publishing a report set to the file system
In this example, you will learn how to set up a task to publish the report set result in various file
formats to the file system repeatedly at the start of each month.
1. Take steps 1 and 2 as in Example 1.

2. In the Publish tab of the Schedule dialog, click the To Disk sub tab, select the required format,
specify the result location, and set the format settings according to your requirements.

3. In the Conditions tab,


a. In the Time sub tab, define the time zone from the Time Zone drop-down list, then from the
Time Type drop-down list, choose Run this task periodically.

b. In the Duration box, specify a time period for when the task will be performed.

c. Select Monthly from the Date drop-down list and keep the default to run the first day of
every 1 month.

d. Keep the Time settings as default.

e. If you also want to set an event which needs to occur before running the report set, select a
trigger to bind with the task from the Select a trigger to bind drop-down list in the Trigger
sub tab, then specify the trigger logic with time condition.
For detailed information about the logic between the trigger condition and the time condition,
see Trigger tab.

4. If you want to notify someone of when the task is finished by sending an e-mail, go to the
Notification tab and set the settings.

5. If you want to specify a timeout for when the scheduled report set will be allowed to run, specify
the settings in the Duration tab as required.

6. Click Finish to have the task performed.

Then, click My Tasks on the system toolbar, you will see that the scheduled task has been recorded in
the Scheduled tab. Since you have not specified the duration Run until a time for this task, it will not
stop being performed until you delete or disable it from the Scheduled tab.
Notes:
● When you specify to publish the report set result to the server resource tree, if the specified folder
has a real path, the result will be put to the real path. Otherwise it will be put to the default disk
location where server resources are.

● If you specify to publish the report set result to a non-existent folder on disk, JReport Server will
automatically create it.

● If you use a fixed name to perform the task periodically, only the most recently generated report set
result will be kept. In order to keep the report set result generated every time, you should use the
dynamic result file name. Similarly, you are able to input the dynamic directory path to avoid report
set management difficulties, since when a fixed directory path is specified, too many results may be
generated in one directory. For more information, see Appendix 5: Dynamic names.
Example 3: Publishing a report set to e-mail
In this example, you will learn how to set up a task to publish the report set result to e-mail.
1. Take steps 1 and 2 as in Example 1.

2. In the Publish tab of the Schedule dialog, click the To E-mail sub tab, then from the Mail To list,
select to whom the report set result will be sent. If required, click the Edit button to edit the
specified e-mail.
If you want to create another e-mail, click the New button, then fill in every field, select the
format in which you want to export the report set result and set the settings according to your
requirements. When you choose to specify a report set result as an attachment to e-mail, you
need to specify a file name for the attachment. For details about settings of creating a new e-mail,
refer to Schedule dialog - To E-mail.

3. In the Conditions tab, select the Time sub tab, define the time zone from the Time Zone drop-
down list, then from the Time Type drop-down list, choose Run this task immediately.

4. If you want to notify someone of when the task is finished by sending an e-mail, go to the
Notification tab and set the settings.

5. If you want to specify a timeout for the task, specify the settings in the Duration tab as required.

6. Click Finish to have the task performed.

Then, click My Tasks on the system toolbar. When the task is being performed, you can see a record
of it in the Running tab and on completion it will be put into the Completed tab.
Example 4: Publishing a report set to printer
In this example, you will learn how to set up a task to publish the report set result to a printer.
1. Take steps 1 and 2 as in Example 1.

2. In the Publish tab of the Schedule dialog,


a. Select the To Printer sub tab and then check Publish to Printer.

b. Select a JDK print method for the report set result in the Select Print Method field.

c. Type a name with the path of the printer in the Printer field.

3. In the Conditions tab, select the Time sub tab, define the time zone from the Time Zone drop-
down list, then from the Time Type drop-down list of the Time tab, choose Run this task
immediately.

4. If you want to notify someone of when the task is finished by sending an e-mail, go to the
Notification tab and set the settings.

5. If you want to specify a timeout for the task, specify the settings in the Duration tab as required.

6. Click Finish to have the task performed.

Then, click My Tasks on the system toolbar. When the task is being performed, you can see a record
of it in the Running tab and on completion it will be put into the Completed tab.
Note: When there is no printer connected with JReport Server, and you schedule to publish a report
set to a printer, the server may crash or throw an exception.
Example 5: Publishing a report set to fax
In this example, you will learn how to set up a task to publish the report set result to fax. Before you
can fax the report set result, you must first have your modem configured. Otherwise a warning
message will be displayed when you try to export to fax.
1. Take steps 1 and 2 as in Example 1.

2. In the Publish tab of the Schedule dialog, click the To Fax sub tab, check the Publish to Fax
option and then fill in every field and set the settings according to your requirements.

3. In the Conditions tab, select the Time sub tab, define the time zone from the Time Zone drop-
down list, then from the Time Type drop-down list, choose Run this task immediately.

4. If you want to notify someone of when the task is finished by sending an e-mail, go to the
Notification tab and set the settings.

5. If you want to specify a timeout for the task, specify the settings in the Duration tab as required.

6. Click Finish to have the task performed.

Then, click My Tasks on the system toolbar. When the task is being performed, you can see a record
of it in the Running tab and on completion it will be put into the Completed tab.
Example 6: Publishing a report set to an FTP site
In this example, you will learn how to set up a task to publish the report set result to an FTP site.
1. Take steps 1 and 2 as in Example 1.

2. In the Publish tab of the Schedule dialog,


a. Click the To FTP sub tab, then click the New button to set up a new FTP site or click the Edit
button to edit a specified FTP site in the FTP To list.

b. Fill in every field, select the format in which you want to send the report set results and then
set the settings according to your requirements.

3. In the Conditions tab, select the Time sub tab, define the time zone from the Time Zone drop-
down list, then from the Time Type drop-down list, choose Run this task immediately.

4. If you want to notify someone of when the task is finished by sending an e-mail, go to the
Notification tab and set the settings.

5. If you want to specify a timeout for the task, specify the settings in the Duration tab as required.

6. Click Finish to have the task performed.

Then, click My Tasks on the system toolbar. When the task is being performed, you can see a record
of it in the Running tab and on completion it will be put into the Completed tab.
Note: Dynamic result name for FTP task is currently not supported.
Scheduling report sets via URL
A schedule contains two kinds of properties. The first is about time information and the second is about
task information (for detailed information about each property, see Appendix 7: Properties - scheduling
report sets via URL).

When report sets are scheduled via URL in a web browser, the method jrs.submit_schedule is called.
The following is a description of this method.
● Constant: jet.cs.util.APIConst.CMD_SUBMIT_SCHEDULE

● Description: Submits a scheduled task to JReport Server. If the report set has no parameters then
it directly run the URL. If the report set has parameters and no parameter specified in the URL or the
parameters provided in the URL fail to include all necessary parameters, the server then returns the
parameter dialog for entering parameter values.

● HTTP Method: GET/POST.

● Response: Returns the task ID to JRClient API, and returns the scheduled tasks page to web
browsers.

Specifying parameter values using dialog when scheduling report sets via URL
When scheduling reports in a report set via URL, if the reports contain parameters, you need to
manually enter the parameters in the URL string without any mistakes. You may find this painful
sometimes because it's not easy to remember all parameters in a report set. However, JReport
provides you with the special command jrs.submit_schedule, which enables to display the Enter
Parameter Values dialog to manage parameters.
The display of the parameter dialog requires:
● The reports have parameters.

● The URL contains the command jrs.submit_schedule.

● No parameter specified in the URL or the parameters provided in the URL fail to include all necessary
parameters.

With the above three conditions fulfilled, the Enter Parameter Values dialog will be displayed right after
you finish the URL in the address bar and make it run. After setting the values and clicking OK in the
dialog, JReport Server will append the values to the URL string for you and execute the URL. However,
if you click Cancel in the dialog, the URL running will be cancelled.
Tip: If you want to specify parameters via dialog when scheduling reports via URL, the most effective
way to display the parameter dialog is that you do not specify parameters at all in the URL.

URL examples
The following are some specific examples on how to schedule a report set via URL. The report set
CustomerAnalysis.cls that uses the catalog /SampleReports/SampleReports.cat is used in these
examples.
Publishing to the versioning system immediately
To publish the report set to the versioning system immediately, the URL used for this task could be as
below:
● To RST
http://localhost:8888/jrserver?jrs.cmd=jrs.submit_schedule&jrs.catalog=%
2fSampleReports%2fSampleReports.cat&jrs.task_class=jet.server.schedule.jrtasks.
PublishRptTask&jrs.launch_type=0&jrs.param$P_StartDate=01/01/2006&jrs.param
$p_EndDate=12/31/2007&jrs.uid=admin&jrs.to_version=true&jrs.to_version_rst=true&jrs.
report=CustomerAnalysis.cls

● To PDF
http://localhost:8888/jinfonet/submitSchedPage.jsp?jrs.cmd=jrs.submit_schedule&jrs.
catalog=%2fSampleReports%2fSampleReports.cat&jrs.task_class=jet.server.schedule.
jrtasks.PublishRptTask&jrs.launch_type=0&jrs.param$P_StartDate=01/01/2006&jrs.param
$p_EndDate=12/31/2007&jrs.uid=admin&jrs.to_version_pdf=true&jrs.to_version=true&jrs.
report=CustomerAnalysis.cls

If you want to publish the report set to other formats, you can refer to the examples above, but you
will need to modify the parameter jrs.to_version_pdf=true to suit the particular format that the report
set will be published to. For example, if you want to publish the report set to Excel, you will need to
change the parameter to jrs.to_version_excel=true.
Publishing to the versioning system periodically
To publish the report set to the versioning system periodically, the URL used for this task could be as
below:
http://localhost:8888/jrserver?jrs.cmd=jrs.submit_schedule&jrs.catalog=%2fSampleReports%
2fSampleReports.cat&jrs.hour2=5&jrs.task_class=jet.server.schedule.jrtasks.
PublishRptTask&jrs.to_version=true&jrs.to_version_html=true&jrs.is_between=true&jrs.
is_weekday=false&jrs.launch_type=8&jrs.min2=0&jrs.is_pm=false&jrs.hour=9&jrs.
is_pm2=true&jrs.param$P_StartDate=01/01/2006&jrs.param$p_EndDate=12/31/2007&jrs.
uid=admin&jrs.hours=1&jrs.is_hourly=true&jrs.at_min=0&jrs.days_id=0&jrs.day=1&jrs.
timezone=CTT&jrs.min=0&jrs.expire_days=30&jrs.report=%2fSampleReports%
2fCustomerAnalysis.cls&jrs.rpt_language=en&jrs.report_sheet$Report=true&jrs.
schedule_name=periodicalTask

Publishing to the versioning system at a specific time


To publish the report set to the versioning system at 12:00:00 CST, December 1, 2008, the URL used
for this task could be as below:
http://localhost:8888/jrserver?jrs.cmd=jrs.submit_schedule&jrs.catalog=%2fSampleReports%
2fSampleReports.cat&jrs.task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.
to_version=true&jrs.to_version_rst=true&jrs.launch_type=1&jrs.param
$P_StartDate=01/01/2006&jrs.param$p_EndDate=12/31/2007&jrs.uid=admin&jrs.exe_day=1&jrs.
exe_month=12&jrs.exe_hour=12&jrs.exe_min=00&jrs.exe_year=2008&jrs.expire_days=30&jrs.
report=%2fSampleReports%2fCustomerAnalysis.cls&jrs.report_sheet$Report=true&jrs.
schedule_name=atTimeTask

Publishing to the versioning system immediately and notifying others of success or failure
To publish the report set to the versioning system immediately, and notify the user support1, support2,
and support3 of success or failure, the URL used for this task could be as below:
http://localhost:8888/jrserver?jrs.cmd=jrs.submit_schedule&jrs.catalog=%2fSampleReports%
2fSampleReports.cat&jrs.task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.
launch_type=0&jrs.param$P_StartDate=01/01/2006&jrs.param$p_EndDate=12/31/2007&jrs.
uid=admin&jrs.expire_days=30&jrs.report=%2fSampleReports%2fCustomerAnalysis.cls&jrs.
to_version=true&jrs.to_version_rst=true&jrs.success_notify=true&jrs.
fail_notify=true&jrs.notification_emails=To%[email protected]%0D%0ACc%3A
[email protected]%0D%0ABcc%[email protected]%0D%0A

Publishing to the file system immediately


To publish the report set to the file system immediately, the URL used for this task could be as below:
● To RST
http://localhost:8888/jinfonet/submitSchedPage.jsp?jrs.cmd=jrs.submit_schedule&jrs.
catalog=%2fSampleReports%2fSampleReports.cat&jrs.task_class=jet.server.schedule.
jrtasks.PublishRptTask&jrs.launch_type=0&jrs.param$P_StartDate=01/01/2006&jrs.param
$p_EndDate=12/31/2007&jrs.uid=admin&jrs.to_disk_rst_path_type=1&jrs.rst_dir=C:\&jrs.
to_disk=true&jrs.to_rst=true&jrs.rst=CustomerAnalysis.rst&jrs.report=%2fSampleReports%
2fCustomerAnalysis.cls&

● To PDF
http://localhost:8888/jrserver?jrs.cmd=jrs.submit_schedule&jrs.catalog=%
2fSampleReports%2fSampleReports.cat&jrs.task_class=jet.server.schedule.jrtasks.
PublishRptTask&jrs.launch_type=0&jrs.param$P_StartDate=01/01/2006&jrs.param
$p_EndDate=12/31/2007&jrs.uid=admin&jrs.to_disk_pdf_path_type=1&jrs.pdf_dir=C:\&jrs.
to_disk=true&jrs.to_pdf=true&jrs.pdf=CustomerAnalysis.pdf&jrs.report=%2fSampleReports%
2fCustomerAnalysis.cls&

Note: If you want to publish a report set to a disk path, for example, jrs.rst_dir=C:\, you can do the
same as the example described above. If you want to publish a report set to a resource tree, for
example, jrs.rst_dir=%2fSampleReports, you can omit this parameter &jrs.to_disk_pdf_path_type=1 in
the above example and replace jrs.pdf_dir=C:\ with jrs.rst_dir=%2fSampleReports. Here
SampleReports is the resource path.
Publishing to e-mail immediately
To publish the report set to e-mail immediately, the URL used for this task could be as below:
http://localhost:8888/jinfonet/submitSchedPage.jsp?jrs.cmd=jrs.submit_schedule&jrs.
catalog=/SampleReports/SampleReports.cat&jrs.report=/SampleReports/CustomerAnalysis.
cls&jrs.task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.to_mail=true&jrs.
jrmail0=jrs.mailto%[email protected]%26jrs.mailsubject%3dreport&jrs.
launch_type=0&jrs.param$P_StartDate=01/01/2006&jrs.param$p_EndDate=12/31/2007&jrs.
uid=admin&jrs.rpt_language=en

Publishing to printer immediately


To publish the report set to a printer immediately, the URL used for this task could be as below:
http://localhost:8888/jrserver?jrs.cmd=jrs.submit_schedule&jrs.catalog=%2fSampleReports%
2fSampleReports.cat&jrs.task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.
launch_type=0&jrs.to_printer=true&jrs.report=%2fSampleReports%2fCustomerAnalysis.
cls&jrs.param$P_StartDate=01/01/2006&jrs.param$p_EndDate=12/31/2007&jrs.rpt_language=en

Publishing to fax immediately


To publish the report set to a fax immediately, the URL used for this task could be as below:
http://localhost:8888/jinfonet/submitSchedPage.jsp?jrs.cmd=jrs.submit_schedule&jrs.
catalog=%2fSampleReports%2fSampleReports.cat&jrs.report=%2fSampleReports%
2fCustomerAnalysis.cls&jrs.task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.
launch_type=0&jrs.param$P_StartDate=01/01/2006&jrs.param$p_EndDate=12/31/2007&jrs.
uid=admin&jrs.to_fax=true&jrs.to_fax_is_include_cover=false&jrs.
to_fax_to_fax_number=888888

Publishing to FTP immediately


To publish the report set to an FTP site immediately, the URL used for this task could be as below:
http://localhost:8888/jrserver?jrs.cmd=jrs.submit_schedule&jrs.catalog=%2fSampleReports%
2fSampleReports.cat&jrs.report=%2fSampleReports%2fCustomerAnalysis.cls&jrs.
task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.launch_type=0&jrs.param
$P_StartDate=01/01/2006&jrs.param$p_EndDate=12/31/2007&jrs.uid=admin&jrs.
to_FTP=true&jrs.ftp0=jrs.ftpHost%3d192.168.0.0%26jrs.ftpPort%3d21%26jrs.ftpUn%3dftpuser%
26jrs.ftpPsd%3d1234%26jrs.ftpLoc%3d%2ftest%26jrs.ftpPdf%3dtrue

Related topics:
● Setting dynamic parameter values when running or scheduling a report set via API
Scheduling a task containing a bursting report
In a large enterprise reporting deployment, it is important to handle both large amounts of data as well
as a large number of users. Report bursting enables running a report once and distributing the report
results to multiple recipients who each will receive a subset of the report results.
Bursting reports can be distributed to e-mail or FTP addresses, to disk, to the JReport versioning
system, or to the security system members such as users, groups, and roles.
End users can submit a schedule task which contains only one bursting report to JReport Server. When
a bursting task is activated, it will create a main bursting task and some sub bursting tasks. The
system will guarantee bursting tasks compete with normal tasks for system resources. The bursting
tasks can be given lower priority if desired (set queue.policy to 1).
● Main bursting task: It is responsible for getting/splitting data and distributing work to the sub
tasks. There can be only one main bursting task for a sub bursting task.

● Sub bursting task: It is responsible for generating the report result according to split data and
sending the result to the address of the bursting recipient.

For details about what is a bursting report and how to design a bursting report, see Report Bursting in
the JReport Designer User's Guide.
On JReport Server, direct running and advanced running actions support normal reports but not
bursting reports. A report set containing only bursting reports cannot be run directly, it must be
scheduled.
Scheduling supports both types of reports excluding the combination of the two types: for normal
reports, multiple reports can be scheduled at a time; however for bursting reports, only one can be
scheduled. For a scheduled bursting task, seven kinds of result file formats are supported: HTML, PDF,
Excel, Text, RTF, XML, and PostScript. In addition, when scheduling to run a bursting report, you can
make it generate not only the bursting result by applying bursting schemas but also the non-bursting
result based on whole data without data splitting.

Scheduling a bursting report to generate bursting result


Though a bursting report may have one or more bursting schemas, you need apply one or more of
them in order to get a bursting result. To do this, select a bursting report and schemas, and then
specify required parameter values in the General tab of the Schedule dialog. Then a tab named
Bursting Result is displayed in the Publish tab and only the corresponding sub tabs are available that
are defined in the selected bursting schemas' recipients in JReport Designer. For example, a bursting
report has three bursting schemas: Schema 1 defines recipient E-mail and Disk, Schema 2 defines
recipient FTP, and Schema 3 defines recipient JReport Server Version. If Schema 1 and Schema 3 are
selected, only To E-mail, To Disk, and To Version sub tabs will be shown in the Bursting Result tab of
the Publish tab for the bursting result.
The following list tells which tab will be displayed in the Publish > Bursting Result tab of the Schedule
dialog for which recipient address specified in bursting schema.

Recipient Sub tab in the Publish tab


E-mail To E-mail
FTP To FTP
Disk To Disk
JReport Server Version To Version
JReport Server User/Group/Role - User E-mail To E-mail
JReport Server User/Group/Role - User To Version
Private Folder

When scheduling a bursting report, specifying the destination is suppressed in the Publish tab since the
recipient addresses have been included in the bursting schema. However, you are allowed to give a file
name to the subset of report result instead of using the default name.

Default name for bursting result files


Sometimes you may not want to specify a file name for each bursting result when defining recipients.
The bursting system will give it a name as generated by the system.
The default name format is: ReportName + "_" + BurstingKey + suffix (result format type). When
there are multiple bursting key columns, connect each one by the character "_".
Converting to String
When a bursting key is of one of the following data types, it will be converted into String so as to make
a valid result file name:
● Integer, Float, Character: Same as Java, these data types are transferred to string directly.

● Date and Time: All data and time formats will be transferred to a date format: yyyy-MM-dd hh:mm:
ss.

● Currency: Currency will be transferred to the number without the currency mark ($ or others).

Name length
In the JReport Server resource system, the resource name only supports up to 64-character length. If
a bursting result file name is longer than that, the system will trim it down automatically.
In order to avoid using the same name in the same path, an index will be appended to the result name,
for example: report1_USA_Maryland1.pdf, report1_USA_Maryland2.pdf.
Notes:
● All bursting sub results will apply the security information of the bursting task submitter.

● When running a report set containing both normal and bursting reports:
For direct running:
When running it to DHTML format, only the normal reports are opened.
When running it to other formats, if the default focused report is a normal report, it will be run
directly; otherwise if the default focused report is a bursting report which cannot be run, a warning
message will be displayed asking the end user to select a normal report to run using advanced run.
For advanced running:
It is allowed to only choose among the normal reports.

Scheduling a bursting report to generate non-bursting result


Besides generating bursting result for a bursting report, you can also generate non-bursting result for
the report without applying any bursting definition, which is based on full data without data splitting.
To generate non-bursting result, select the Non-bursting result option in the General tab of the
Schedule dialog. Then a tab named Non-bursting Result appears in the Publish tab, and all these sub
tabs - To Version, To Disk, To E-mail, To Printer, To Fax, and To FTP - are available in this tab for the
non-bursting result.
Scheduling a customized task using User Task
In order to meet the requested requirement to run tasks defined outside of JReport on JReport Server,
and to just use JReport Server's schedule function, JReport has provided a task named User Task. With
this task, you can implement a customized task with the schedule properties. You can also submit the
user task from a web page, or by calling the JReport Server API methods.
To schedule a customized task using User Task:
1. Create a task class that implements the UserTask interface and add the path of the class file to
the class path. You can find the interface in the jet.server.api package available in <install_root>
\help\server\en\api. JReport provides a demo class APIDemoDynamicExportTask.java in
<install_root>\help\server\en\samples for your reference.

2. Create a task properties file defining the formats of exporting the task. For example, the content
of the properties file is:
jrs.rst=result_rtf
jrs.pdf=true
jrs.text=true
jrs.excel=true
jrs.ps=true
jrs.html=result_html

3. Submit the task either from a server web page or by calling Server API methods. The task can
then be run by the server.
❍ To submit the customized task from a server web page:
a. On the JReport Console > Reports page, browse to the desired report set, put the mouse
pointer over the report set row and click the Schedule button on the floating toolbar.
The Schedule dialog is then displayed.

b. Specify the settings in the General, Publish, Conditions, and Duration tabs as required.
Here the Publish tab settings should be switched to those of User Task by clicking the link
on the right bottom of the tab. Then, the name of the task class file you have defined that
implements the UserTask interface and the task properties that define the export formats
must be provided. You can either input the task properties manually or import them from
the task properties file that you have created.

c. Upon finishing, click Finish to submit the task.

❍ To submit the customized task by API methods:


a. Set the user task class name to the property value of APIConst.TAG_TASK_CLASS.

b. Define the user task properties with the property APIConst.TAG_USER_TASK_PROP with
the formats as follows: jrs.user_task_prop= jrs.rst=result_rtf&jrs.pdf=true&jrs.
text=true&jrs.excel=true&jrs.ps=true&jrs.html=result_html. Since the jrs.user_task_prop
is used to transfer multiple user task properties, the values set to this property must be
formatted to be separated with "&" character.
c. Set a display name for the class with the property APIConst.
TAG_USER_TASK_DISPLAY_NAME.

d. Except for the above properties, define the other schedule properties as you do with a
default task, see APIDemoPublishRpt.java in <install_root>\help\server\en\samples
for reference. Then following the API demo you can submit a customized task on the server.

Click My Tasks on the system toolbar. When the task is being performed, you can see a record of it in
the Running tab and on completion it will be put into the Completed tab.
Note: You can either schedule to use the Default Task or the User Task at one time. If you specify to
schedule a report set as a default task, you will not be able to schedule it as a user task, and vice versa.
Recording scheduled tasks
JReport Server records every scheduled task. Click My Tasks on the system toolbar of the JReport
Console page, then the following tabs will be displayed: Scheduled, Running, and Completed. The tasks
are recorded in different tables according to their executing status. A task is placed in the Scheduled
table as soon as it is submitted by the user. It will go to the Running table when it is running, and
when it is finished by JReport Server, it will then go to the Completed table.

Related topics:
● Managing tasks
Viewing scheduled report set results
When a scheduled task is finished, you can view the results of the scheduled report set as required. To
view the results, first of all you need to know the corresponding results' location. To get the location
information:
1. On the JReport Console page, click My Tasks on the system toolbar, then click the Completed
tab, where all the successfully scheduled tasks are recorded.

2. Locate the task in the tab and click the name of the task in the Schedule Name column.

3. In the Result Details table, the location information of the scheduled results are available in the
Details column.

Viewing results scheduled to version


To view report set results that are scheduled to version, you can choose whether to view via the
JReport Console page or via URL.

Viewing via the JReport Console page


One way to view results that are scheduled to version on the JReport Console page is via the scheduled
task records. To do this:
1. Click My Tasks on the system toolbar, then click the Completed tab.

2. In the tab, locate the right task and click the name of the task in the Schedule Name column.

3. In the Result Details table, the links to different result formats are available for viewing in the To
Version row.

And another way to achieve the same purpose is via the server resource tree which to some extent
varies with the archive location type specified in the Publish > To Version tab:
● If the archive location has been set to Built-in Version Folder:
1. On the JReport Console > Reports page, browse to the row that the original report set is in.

2. Do either of the following:


■ Select the report set row and click Tools > Version on the task bar of the Reports page.

■ Select the report set row, right-click in the row and select Version from the shortcut menu.

■ Put the mouse pointer over the report set row and click the Version button on the floating
toolbar.

3. In the Report Set Result Versions tab, the scheduled results of different format types are listed
in the Result column. Click the format links or action buttons to view the results.

● If the archive location has been set to My Reports Folder or Public Reports Folder, which requires
providing a path and a name for the scheduled result in the server resource tree:
1. On the JReport Console > Reports page, browse to the row that the result is in.

2. Put the mouse pointer over the result row and click the Version button on the floating
toolbar (or you can use one of the other two methods shown in the above procedure to display
the version table).

3. In the Result Versions tab, the scheduled results of different format types are listed in the Result
column. Click the format links or action buttons to view the results.

Tip: The unviewed version results are highlighted in bold. You can cancel the highlighting by setting
the property web.version.mark_unviewed to false in the server.properties file in <install_root>\bin.

Viewing via URL


For the report set results that are scheduled to version, you can also view them via URL. One important
thing in the URL method is that you need to know the file name of the result that you want to view. To
get this information, you can take the steps explained at the beginning of the document.

Using command jrs.view_ver_rst


See the example:
http://localhost:8888/jrserver/SampleReports/SampleReports.cat/EmployeeInformation.cls?
jrs.cmd=jrs.view_ver_rst&
jrs.hist_file=1%5cJReport_System_User327406359%5cEmployeeInformation.rst&jrs.
result_type=1.

See details about the usage of the command jrs.view_ver_rst.

Using viewVersion.jsp
For example:
http://localhost:8888/jinfonet/viewVersion.jsp?jrs.cmd=jrs.view_ver_def&jrs.
rst_version=2&jrs.ver_suff=.html&
jrs.report=%2fSampleReports%2fEmployeeInformation.cls&type=rstfile&jrs.path=%
2fSampleReports%2fEmployeeInformation.cls

Notes:
● To view RSD version results using JSP, you should use dhtml.jsp instead of viewVersion.jsp. For
example:
http://localhost:8888/dhtmljsp/dhtml.jsp?jrs.rst_version=10&jrs.report=/SampleReports/
Banded_Link.cls&type=rstfile&jrs.path=/SampleReports/Banded_Link.cls

● When viewing a scheduled DHTML report result with cached report bursting via URL, you should add
jrs.is_pls_result=true in the URL, for example: http://localhost:8888/dhtmljsp/dhtml.jsp?
jrs.rst_version=1&jrs.is_pls_result=true&jrs.report=/SampleReports/PLS.
cls&type=drstfile&jrs.path=/SampleReports/PLS.cls

Viewing results scheduled to disk


When scheduling a report set to disk,
● If you choose Publish to Server Disk Path, you are required to provide a disk file path and file name
with correct format type as the suffix for each report in the report set. After scheduling succeeds, you
can find the corresponding result files available at the specified location on the computer where
JReport Server is installed.

● If you choose Publish to Server Resource Tree, you are required to provide a path following the
server resource tree and file name with correct format type as the suffix for each report in the report
set. For example,
❍ To follow the My Reports folder path, start with "/USERFOLDERPATH/admin/".
Example: /USERFOLDERPATH/admin/report1.pdf

❍ To follow the Public Reports folder, start with "/".


Example: /SampleReports/report2.html.

If the specified folder which is the parent folder of the result file has a real path, the generated result
file will be saved to the real path; if the folder doesn't have a real path, the generated result will be
saved to <server_install_root>/jreports/, which is the mapped disk path of the root node "/" in
the specified path.

Viewing results scheduled to e-mail/printer/fax/FTP


When a report set is scheduled to e-mail, printer, fax, or FTP, you can view the scheduled results if the
specified addresses or locations are available to you.
Importing and exporting scheduled tasks
In JReport Server, you can export a scheduled task to a script file which will then be saved on your own
disk as a script file. In addition, you can import a script file from the disk file to generate a scheduled
task.
To export a scheduled task to a script file and save it in the disk:
1. On the JReport Console page, click My Tasks on the system toolbar.

2. In the Scheduled tab, select the rows that one or more scheduled tasks are in.

3. Click Tools > Export to Script on the task bar of the My Tasks page (if only one task is selected,
you can also right-click in the task row and select Export to Script from the shortcut menu, or
put the mouse pointer over the task row and click the Export to Script button on the floating
toolbar), then modify the script text in the Edit Script box as required.

4. Click OK to export the specified scheduled task to a script file.

5. Specify the directory and name for this script file in the File download dialog.

To import a script file from your disk:


1. On the JReport Console page, click My Tasks on the system toolbar, then select the Scheduled
tab.

2. Click New Schedule on the task bar of the My Tasks page.

3. In the New Schedule dialog, check the option Import Script to Create Schedule.

4. Click the Browse button to select a script file from your disk file, then click OK to import the
specified script file and modify the script text in the Edit Script box as required.

5. Click OK to generate a scheduled task.

Note: If you just updated from an older version of JReport Server, there may be some old scripts
saved in your server. In order to use these old scripts, you can click the Import old script from
server link in the Import Script page to select an old script to import it to generate a scheduled task.
To use this link, you must logon JReport Server as an administrator role.
Adding TaskListener
When viewing or scheduling a report set, JReport Server enables you to call your Java application
before or after the process.
In JReport Server, a TaskListener interface has been provided in the package jet.server.api for
receiving task events before or after running. You can specify one Java class to implement this
interface for a task event. When the event of this task occurs, the corresponding methods in the
listener will be invoked. The interface contains two methods: beforeRun and afterRun, enabling you to
set your Java application call before or after the process of viewing a report set or setting up a
schedule. Your applications will return true or false. For true, JReport Server will go on running. While
for false, JReport Server will stop there.
Below is an example illustrating how to add TaskListener when setting up a schedule on a report set.
1. Develop your Java class to implement the interface. Here TestTaskListener.java is used, which is
available in <install_root>\help\server\en\samples.

2. Compile TestTaskListener.java to generate the class file.

3. Edit the batch file setenv.bat in <install_root>\bin, which is used to start JReport Server.
Assuming that TestTaskListener has been saved in c:\JReport\Server\tasklistener, add the
path of the class file (c:\JReport\Server\tasklistener) to the ADDCLASSPATH variable in
setenv.bat.

4. Start JReport Server and set up a schedule on a report set, check Add TaskListerner to be
Invoked in the General tab of the Schedule dialog, then input the class name. In this example,
input TastListener, and then submit the task.

5. In this example, the class returns True.


Print out the task and schedule properties before and after running the task. You will then get task
and schedule information in the command window before and after the task is run.

You can also define properties of your own and transmit them through ServerInfo. To do this, use
APIConst.TAG_USERDEFINED_PROPERTY_PREFIX as the prefix for the properties.
For example, if you want to transmit the properties host_name, host_ip and hosp_protocol, you will
need to insert the properties, before calling the method runTask, into the properties named prop, as
follows:
prop.put(APIConst. TAG_USERDEFINED_PROPERTY_PREFIX+"host_name", "host");
prop.put(APIConst. TAG_USERDEFINED_PROPERTY_PREFIX+"host_ip", "127.0.0.1");
prop.put(APIConst. TAG_USERDEFINED_PROPERTY_PREFIX+"host_protocol"+ "TCP/IP");

You can get the value of the properties listed above through the server info object, serverInfo, in the
method beforeRun or afterRun of the TaskListener class. See the example below:
host_name=serverInfo.getTaskProperties().get(APIConst.TAG_USERDEFINED_
PROPERTY_PREFIX+"host_name");
host_ip=serverInfo.getTaskProperties().get(APIConst.TAG_USERDEFINED_
PROPERTY_PREFIX+"host_ip");
host_protocol=serverInfo.getTaskProperties().get(APIConst.TAG_USERDEFINED_
PROPERTY_PREFIX+"host_protocol");

Note: All properties without the prefix APIConst.TAG_USERDEFINED_PROPERTY_PREFIX will be denied


and discarded by JReport Server.
Controlling report set versions
A new report set version is created when you publish a report set from outside of JReport Server, and
then make the old and the new share one common resource node.
The report set versions are recorded in the version table of the report set, from which you can view the
information about version date, version number, and edit the version properties or delete any
unwanted version.
For detailed information about controlling report set versions, refer to Managing versions.
Setting report set properties
The properties of a report set, such as the resource node name of the report set, the linked catalog, its
archive policy and the user permissions on it (if the report set locates in the Public Reports folder), can
be set according to your requirements.
To set the properties for a report set:
1. On the JReport Console > Reports page, browse to the report set, then do either of the following:
❍ Select the report set row and click Tools > Properties on the task bar of the Reports page.

❍ Select the report set row, right-click in the row and select Properties from the shortcut menu.

❍ Put the mouse pointer over the report set row and click the Properties button on the
floating toolbar.

2. In the Properties dialog, specify the settings as required.

3. When done, click OK to accept the changes.


Linking report sets and catalogs
A report set can be linked with a catalog in JReport. The benefits of a linked catalog compared to a
copied catalog are:
● There is no need to also copy the wanted catalog to the destination directory when saving the report
set to a different location.

● When the report set and its linked catalog are not in the same directory, the report set can still run
with the catalog.

● When the linked catalog is updated, the report set using the catalog can run with the updated
version. However, the copied catalog cannot be updated if its original catalog is updated since they
are two independent versions.

When directly running a report set, the linked catalog has higher priority than the catalog specified in
the same folder as the report set (without linked catalog, the report set will run within the selected
catalog in the same folder). As for Advanced Run and Schedule, the default selected catalog is the
linked catalog if there is one, however, you can change it by the provided option Select Another
Catalog.

Setting linked catalog


Linked catalog can be set at server level, folder level, and report set level as follows:
● To set linked catalog at server level (this can only be done by administrators):
1. Go to the JReport Administration page, click Configuration on the system toolbar and select
Advanced from the drop-down menu.

2. In the Advanced panel, check Enable Linked Catalog, then click the Select Another Catalog
link to specify the catalog which will be used as the linked catalog at server level.

3. Click Save to save the change.

4. Restart JReport Server to make the settings take effect.

● To set linked catalog at folder/report set level, go to the Properties dialog of the folder/report set,
check Enable Linked Catalog, then specify the linked catalog as required.
❍ Use Specified - If checked, you can specify a linked catalog which can be any catalog in the
server resource tree to the folder/report set.

❍ Use Inherited - If a linked catalog has been specified on the parent level of the folder/report set,
you can use the parent-level linked catalog as the linked catalog of the folder/report set. For the
My Reports and Public Reports folders, the parent level is the server level; for the other folders or
report sets, the parent level is the parent folder.

Notes:
● If a schedule task has been submitted and then the linked catalog in use is modified, the task will
still use the previous catalog until the task information is updated.
● When running a report set in JReport Viewer, you can also save the original catalog as a linked
catalog when saving the DHTML report set.
Using JSPs to print report sets
JReport Server provides the following demo JSPs which enable you to print a report set without any
view in the client side, and they are contained in the zip file printDemo.jsp.zip in <install_root>\help
\server\en\samples.

● printDemo.jsp
Provides frames to load printCustomerlist.jsp and printReport.jsp.

● printCustomerlist.jsp
Shows how to set parameters for printing the demo report set CustomerAnalysis.cls by using the
ViewerApplet. This JSP calls printReport.jsp. If you want to print the other report sets, you can follow
this JSP file as an example to write your own JSP. In your own JSP, you should modify the values of
"cat" and "rptName".
String cat = "/SampleReports/SampleReports.cat"; //request.getParameter(APIConst.
TAG_CATALOG);
String rptName = "/SampleReports/CustomerAnalysis.cls"; //request.getParameter
(APIConst.TAG_REPORT);

● printReport.jsp
Shows how to print report sets by using the ViewerApplet. The example JSP printCustomerlist.jsp
calls this JSP.

Before running the JSPs, you should unzip and copy them to <intall_root>\public_html\jinfonet.
Then, start JReport Server and access printDemo.jsp using the URL http://localhost:8888/
jinfonet/printDemo.jsp. The following page appears:
PrintInCurrentFrame
Set to call printReport.jsp and load applet of JReport Viewer Frame.
PrintInHiddenFrame
Set to call printReport.jsp without loading applet of JReport Viewer Frame.
Reset
Reset the previous options.
View
View this report set.
Interactive
If checked, you could specify the print setup in the Print dialog.
Background
If checked, the print job will run in the background.
UseJDK11
If checked, you will use instance PrintJob of JDK11 to print the report set.
Wait
If checked, you have to wait until the print job is finished.
SeparateLargePage
If checked, the large page will be separated into several pages automatically.
NotifyComplete
This parameter is used with the parameter wait. After the print job is finished, a box will pop up to note
you, and you could do any other work instead of keep on waiting.
Printer
Specify the printer to implement the print job.
Deleting report sets
To delete a report set from JReport Server:
1. On the JReport Console > Reports page, browse to the report set you want to delete.

2. Do either of the following:


❍ Select the report set row, right-click in the row and select Delete from the shortcut menu.

❍ Put the mouse pointer over the report set row and click the Delete button on the floating
toolbar.

3. A message dialog will then be displayed for your confirmation. Click OK to delete the specified
report set or Cancel to cancel the deletion of the report set.
JReport Viewer - Interactive Reports

(Dynamic HTML Reports)


With JReport Server, you can obtain report results in different formats, such as HTML, PDF, and Excel.
For the HTML format, there are two viewing modes - pure HTML or Dynamic HTML. JReport Viewer
provides a dynamic report view at the client side. You can change options which enable the results to
be displayed to your requirements.
Interactive information empowers you to slice and dice your business data, to dynamically change your
view of data, and to analyze the data to glean useful business information. In short, interactive
information enables you to customize your view of business information. With JReport, any report can
be made interactive, extending the "life" of the report by allowing you to easily sort, navigate, and filter
data via JReport Viewer. This wide range of functionality, including the ability to drill down on data,
enables you to quickly derive value from your business intelligence data.
JReport Viewer provides support for many features, such as Filter, Sort, Drill-to, Drill-down, Drill-up,
Navigation (TOC), Search, and save the results. JReport Viewer also supports a web design feature,
allowing you to create reports using report oriented data structures, save your report, and even save
your custom modifications to existing reports.
This chapter covers the following topics to help you better understand how JReport Viewer makes
reports interactive and how you will benefit:
● JReport Viewer window elements

● Viewing report sets in JReport Viewer

● General operations

● Ad hoc reporting

● DHTML based reporting

● Analytic reporting

● Applying a style

● Working with reports via URL

● Tuning JReport Viewer performance


JReport Viewer window elements
The main page of JReport Viewer consists of the user information bar, menus, toolbar, report set bar,
Toolbox, Resource View panel, TOC Browser, and report area. The options for browsing or controlling a
DHTML report are as follows:

Toolbar/
Button Tool Name Description
Menu
File New Report Creates a new report to the
current report set based on
an existing business/report
cube.
New Report Set Creates a new report set
containing a report based on
an existing business/report
cube.
Open Opens the Open Report
dialog for you to open/close
reports in current report set.
Rename Report Opens the Rename Current
Report dialog to give the
open report a new name.
Close Report Closes the current report if
there is more than one report
open in the report set; or
prompts you to close the
report set if only one report
is open.
Delete Report Deletes the current report if
there is more than one report
open in the report set. This
command is disabled when
the last page of the current
report does not display if
Format Page On Demand in
the Configure DHTML Profile
> Properties > Advanced tab
is selected.
Save Saves the report set as a
report set version.
Save As Saves a copy of the report
set.
Export Exports the report result to
disk or version in various
formats.
Page Setup Shows the Page Properties
dialog for you to specify the
page layout settings for the
report result.
Printable Shows the Printable Version
Version dialog for you to print the
current report result to a PDF/
HTML file.
Exit Closes the current report set.
Edit Undo Undoes the last operation.
Redo Reverses the operation of
Undo.
Search Shows the Search dialog for
you to find specific text.
View Toolbar Shows or hides toolbars.
User Shows or hides the User
Information Bar Information Bar, which
displays the user name,
catalog name and report set
name.
Toolbox Shows or hides the Toolbox
panel which allows you to
insert a component into the
report.
Resource View Shows or hides the Resource
View panel, with which you
can add cube elements to
your report and create
dynamic resources to use
them in your report.
TOC Browser Shows or hides the TOC
Browser, with which you can
navigate the report data.
Editing Marks Shows or hides editing marks
(dashed outlines for objects
and report body). If the
option is unselected, the
editing mark will not be
shown when a report object
receives focus, and report
objects cannot be moved or
resized.
Turn To Provides a submenu for you
to turn the report pages.
Refresh Runs the report using
previously provided
parameters. The Refresh
operation fetches the data
again.
Zoom Shows the Zoom dialog for
you to set a zoom ratio for
the report page.
Options Shows the Options dialog for
you to set the skin and unit
for JReport web, and to
customize toolbars.
Show Grids Shows grids in the report
area.
Snap to Grids Snaps an object to grids
when you move it by
dragging and dropping in the
report area. If this option is
enabled, aligning objects will
be made easier. To
temporarily override the
setting, press the ALT key as
you move an object.
Insert Label Inserts a label into the report.
Image Inserts an image into the
report.
Banded Object Inserts a banded object into
the report.
Table Inserts a table into the report.
Crosstab Inserts a crosstab into the
report.
Chart Inserts a chart into the
report.
Parameter Inserts a parameter control
Control into the report.
Parameter Inserts a parameter form
Form Control control into the report.
Filter Control Inserts a filter control into
the report.
Navigation Inserts a navigation control
Control into the report.
Special Fields Inserts special fields into the
report.
Report Query Filter Applies a filter to the
business/report cube used by
certain component.
Filter Filters the report records
according to the filter criteria
you specify.
Sort Sorts the report records or
groups in ascending or
descending order on the
fields you select.
To Chart Converts a crosstab into a
chart.
To Crosstab Converts a chart into a
crosstab.
Rotate Table Rotates a table to switch its
appearance between the
horizontal and vertical layout
modes.
Rotate Crosstab Rotates a crosstab to
exchange the columns and
rows in the crosstab in order
to create a different view of
the crosstab.
Merge Merges selected tabular cells
into one.
Split Splits a tabular cell into the
specified number of rows and
columns.
Max Records Allows you to specify the
maximum number of records
retrieved by all components
in the report set.
Use Dynamic Allows you to apply dynamic
Formula in formulas to control object
Property properties.
Style Allows you to apply a style to
the report.
Help User's Guide Opens JReport Viewer User's
Guide.
Jinfonet Connects to Jinfonet
Software Home Software Home Page.
Page
Technical Accesses Jinfonet Technical
Support Support.
About JReport Shows product information
Web about JReport Web.
Standard New Creates a new report based
Toolbar on an existing business/
report cube.
Open Brings out the Open Report
dialog for you to open/close
reports in current report set.
Save Saves the report set as a
report set version.

Save As Saves a copy of the report


set.

Export Exports the report result to


disk or version in various
formats.
Printable Shows the Printable Version
Version dialog for you to print the
current report result to a PDF/
HTML file.
Undo Undoes the last operation.

Redo Reverses the operation of


Undo.

Delete Deletes the selected object.

View Toolbar Toolbox Shows the Toolbox panel for


you to insert a component
into the report. Click it again
to hide the Toolbox.
Resource View Shows the Resource View
panel, with which you can
add cube elements to your
report and create dynamic
resources to use them in
your report. Click it again to
hide the Resource View panel.
Filter Shows the Filter dialog, with
which you can filter the
report records according to
the filter criteria you specify.
Sort Shows the Sort dialog, with
which you can sort the report
records or groups in
ascending or descending
order on the fields you select.
Search Shows the Search dialog for
you to find specific text.

Zoom Enables you to enlarge or


reduce the size of the report.

Analysis Rotate Rotates a crosstab or rotates


Toolbar a table.
Chart Type Lists all available chart types
for you to change the type of
a selected chart.
Style Allows you to apply a style to
the report.

Font format Font Face, Font Changes the face and size of
buttons Size the selected font. Available
only when a label or field is
selected.
Bold, Italic, Makes the selected font in
Underlined bold, italic or underlined
style. Available only when a
label or field is selected.
Left, Center, Makes the selected font left,
Right center or right aligned.
Available only when a label
or field is selected.
Page Max Records Allows you to specify the
navigation number of records retrieved
buttons by all components in the
report set.
Page Number Displays the current page
number. You can also input a
page number in the page box
and press Enter on the
keyboard to go to that page.
First Goes to the first page of the
current report.

Previous Goes to the previous page.

Next Goes to the next page.

End Goes to the last page.

Go To drop- Go To Goes to the selected report


down list or to the selected report
level.
If a report set contains
several reports, you can use
this list to switch among the
reports. Or, after you
perform some going or
drilling actions on a report,
the structure of the report
will be displayed in the list in
a hierarchical view, with
which you can return to any
level of the report easily.

More When the JReport Viewer


Commands window is not maximized in
Interactive View mode, the
button will be displayed on
the toolbar, by clicking which
you can get all the other
toolbar commands the small
window hasn't enough space
for.
Shortcut Menu Filter Provides submenu items for
filtering the data in a banded
object/table or removing the
filtering.
Sort Provides submenu items for
sorting records on the
selected field in ascending/
descending order, or
removing the sorting.
Drill Down Drills data to a lower
dimension according to
predefined hierarchies.
Drill To Enables you to obtain a
different view of data by
switching among dimensions.
Drill to By Value Allows you to filter data
based on dimensions while
also obtaining a more
detailed view of the data.
Drill Up Drills data to a higher
dimension according to
predefined hierarchies.
Go To Goes to any group to show
its record information.
Go Up Goes up one group level to
show the records of a higher-
level group.
Go Down Goes down one group level
to show the records of a child
group.
Go to Detail Goes to the details of a
group.
Conditional Enables you to add
Formatting conditional format to the
currently selected field.
Search Shows the Search dialog for
you to search the report
result for some text.
Query Filter Applies a filter to the
business/report cube used by
the specified data component.
Refresh Re-fetches data of the
specified data component.
Properties Shows a dialog for you to
define the object's properties.

Notes:
● To simplify the toolbars, when you run a report set in JReport Viewer, only some basic toolbar
commands are displayed by default. To access more report and analysis commands, click the
Interactive View link on the toolbar. However, when you create a new report in JReport Viewer,
you will be shown the full menu and toolbar commands.

● The shortcut menu contents vary with the objects you right-click. The above table only lists some
typical shortcut menu items. The following sections will guide you to use the shortcut menu for any
object you may right-click.
Viewing report sets in JReport Viewer
You can view report sets in JReport Viewer either from the user interface or from URLs. Furthermore,
you can simultaneously open multiple DHTML report sets in respective windows or frames.
● Viewing from the user interface

● Viewing by typing URLs

● Opening multiple report sets in one session


Viewing from the user interface
To view a report set in JReport Viewer from the user interface, follow the steps below:
1. Start JReport Server and log onto the JReport Console page.

2. Click Reports on the system toolbar, then browse to the folder that contains your report set.

3. Use one of the following three methods to display the Advanced Run dialog:
❍ Select the report set row, then on the task bar of the Reports page, click Run > Advanced Run.

❍ Select the report set row, right-click in the row and select Advanced Run from the shortcut
menu.

❍ Put the mouse pointer over the report set row, then click the Advanced Run button on the
floating toolbar.

4. In the General tab, select any report in the report set, specify parameter values if any, then click
the Format tab, select DHTML from the Select Format drop-down list and click Finish.

5. The report set processing page appears, on which you can choose to cancel the running of the
report set, or to make the report set run in background mode. Click Cancel on this page if you
decide to cancel, Background if you want the report set to run in background mode, or just wait
for processing to complete for viewing and interacting with the report set.

Notes:
● If you can make sure that the viewing format of the last-time focused report in a report set is
DHTML, you can also click the report set name directly to run it in JReport Viewer. Then if the report
set contains parameters, a dialog will prompt you to assign values to the parameters.

● When you cancel a report set from running, you can choose whether to cancel the running query
used by the report set in the database at the same time by configuring the JdbcDriversConfig.
properties file. For details, refer to Canceling running query.

Running a DHTML report set in background mode


When you run a report set in DHTML format, if the report set contains a large amount of data, you
need to wait several minutes before the report set results are displayed, and during this period, you
have to remain on the report set processing page, or choose to cancel the run. Now JReport enables
you to switch running report sets to background mode.
To make a report set running in DHTML to run in background mode, on the report set processing page,
click the Background button.
You can also specify to run DHTML report sets automatically in background mode after certain time by
setting preferences. To do this:
1. On the JReport Administration page, click Profile on the system toolbar and then select
Configure DHTML Profile from the drop-down menu. Or on the JReport Console page, click
Profile on the system toolbar, then click Configure DHTML Profile on the task bar of the Profile
page.

2. Click the Properties > Advanced tab.

3. Check Background Mode Timeout and specify the time allowed for a DHTML report set to run in
foreground mode.

4. Save the settings, then when a report set runs in DHTML format and the results have not yet been
generated after the specified time, it will be automatically switched to run in background mode.

Report sets running in background mode are listed in the Background Tasks table of the My Tasks
page, which shows detailed running information of the report sets, such as report set path and name,
catalog path and name, running format, time when the task is started/completed, and so on. Also, you
can control the status of the report sets running in background mode according to your requirements.
For example, you can choose to delete, stop, or restart tasks (for details, see Managing tasks in the
task tables).

When a report set completes running in background, you can open it from the Background Tasks table,
and once the report set is opened, the task will automatically be removed from the table.
Viewing by typing URLs
You can use DHTML servlet or JSPs to run a DHTML report set.

Using DHTML servlet


You can call the servlet jrdhtml via URLs to run a report set to the DHTML format. For example:
● http://localhost:8888/jrdhtml/SampleReports/SampleReports.cat/EmployeeInformation.
cls?

● http://localhost:8888/jrdhtml/SampleReports/SampleReports.cat/EmployeeInformation.
cls?jrs.catalog=/SampleReports/SampleReports.cat&jrs.path=/SampleReports.cat/
EmployeeInformation.cls

Using JSPs
You can use three JSPs to run a report set to the DHTML format. They are two Server JSPs, tryView.jsp
and runReport.jsp, and a DHTML JSP dhtml.jsp.
The image below illustrates the relationship between these JSPs that are used to run the DHTML report
sets:

tryView.jsp
This is the normal method of accessing report sets using URLs. If the report set has parameters and
the parameters provided in the URL fail to include all necessary parameters, the Enter Parameter
Values dialog will be shown for you to specify parameters, otherwise it will directly go to runReport.jsp.
Then it will be redirected to dhtml.jsp when result type is set to the DHTML format, or else will run to
the specified format if the result type is set to other format.
The following is an example of running a report set to the DHTML format using tryView.jsp:
http://localhost:8888/jinfonet/tryView.jsp?jrs.cmd=jrs.try_vw&jrs.report=%
2fSampleReports%2fEmployeeInformation.cls&jrs.catalog=%2fSampleReports%2fSampleReports.
cat&jrs.result_type=8

runReport.jsp
The runReport.jsp functions the same as tryView.jsp when the report set has no parameter. When it
has parameters, the report set runs with the default parameters if no parameter is specified, or else it
runs with the parameters specified in the URL.
To run a report set to the DHTML format using runReport.jsp, specify the DHTML format as the result
type. See the following example:
http://localhost:8888/jinfonet/runReport.jsp?jrs.cmd=jrs.web_vw&jrs.report=%
2fSampleReports%2fEmployeeInformation.cls&jrs.catalog=%2fSampleReports%2fSampleReports.
cat&jrs.result_type=8

dhtml.jsp
If you want to include the DHTML JSPs into your own application without other server JSPs, you can
use this method. However, you must specify the report parameter values in the URL if there are
parameters used by the report set. For example:
http://localhost:8888/dhtmljsp/dhtml.jsp?jrs.catalog=%2fSampleReports%2fSampleReports.
cat&jrs.report=%2fSampleReports%2fEmployeeInformation.cls

Tip: When you run a report set in DHTML using URL, if you want JReport to automatically refresh the
report data at certain intervals, you can set the URL as follows:
http://localhost:8888/dhtmljsp/dhtml.jsp?jrs.report=/USERFOLDERPATH/admin/AutoRefresh/
autorefresh.cls&jrs.catalog=/USERFOLDERPATH/admin/AutoRefresh/testauto.cat&jrs.
auto_refresh_data=true&jrs.auto_refresh_data_time=10
Opening multiple report sets in one session
You can open multiple report sets in JReport Viewer in one session. This means that each time you run
a DHTML report set, it will open in a new window. Also, when working in the embedded mode, you can
assign frames to the report sets, so that more than one DHTML report set can be viewed in one window
at the same time.
In order to illustrate how to view multiple frames in one window, a demo has been provided for you.
Follow the steps below:
1. Go to <install_root>\help\server\en\samples to find MultipleReports.zip.

2. Extract MutipleReports.zip to <intall_root>\public_html and a folder named MultipleReports


will be added in <intall_root>\public_html.

3. Access JReport Server using http://localhost:8888/MultipleReports/test.jsp.


General operations
After having opened a report set in JReport Viewer, you can do the following general operations:
● Managing reports
A report set can include one or more reports. The Go To drop-down list on the toolbar panel or the
tabs across the top of the report lists the display names of all the open reports in the current report
set. Clicking the display name of an inactive report will make it active. You can manage reports in a
report set easily as follows:
❍ Opening and closing a report
In a report set, a report can be shown or not. To close (hide) the active report, click Menu > File
> Close Report. If there are one or more reports open other than the active report, the close
action will hide the active report; in the case that the active report is the only report open, the
close action will prompt you whether or not to close the report set.

To open (show) a hidden report, click Menu > File > Open (or the Open button on the
Standard toolbar) to display the Open Report dialog, in which the reports open in the current
report set are marked with a check symbol. Check the reports you want to open, uncheck the ones
you want to close, and then click OK.

❍ Renaming a report
To rename a report, first activate the report, then click Menu > File > Rename Report. In the
Rename Current Report dialog, specify a new display name for the report.

❍ Deleting a report
To delete a report, first activate the report, then click Menu > File > Delete. The only report open
cannot be deleted.

Note: A JReport Server Live license is required in order to delete reports. If you do not have a
Live license please contact your Jinfonet Software account manager to obtain a license.

Tip: If the administrator has specified to switch reports using tabs in the DHTML preferences page, you
can easily activate a report in a report set by clicking the tab representing the report on the report tab
bar, and closing, renaming and deleting a report can also be accomplished by right-clicking the report
tab and choosing the corresponding command from the shortcut menu.
● Turning the report pages
a report includes more than one page, to turn between the report pages, you can

● Click the First Page button , Previous Page button , Next Page button , or Last

Page button on the View toolbar.

● Input a number into the page box and press Enter to go to that page.

● Click Menu > View > Turn To and then click the corresponding command on the submenu.

● Use the scroll bar or mouse wheel to scroll up/down the report.
● Refreshing the report result
fetch the data of the current report again, you can click Menu > View > Refresh.

● Undoing/redoing actions

u can undo or redo some actions by clicking Menu > Edit > Undo or Redo (or the Undo button or

do button on the Standard toolbar).

● Configuring JReport Viewer features


e JReport Administration page provides default settings for you to use JReport Viewer features, and
ntrols whether the settings on the JReport Console page can be configured. A user playing the
dministrator" role may change the settings in the JReport Administration page so as to enable or disable
me features. Then you can configure JReport Viewer preferences on the JReport Console page, that is,
u can decide whether or not to enable the features which have been enabled on the JReport
ministration page. After you have made changes to JReport Viewer settings on the JReport Console page
d saved them, JReport Viewer features available for you will be consistent with your new settings on the
eport Console page. For details, see Configure DHTML Profile.

● Setting JReport Viewer options


eport Viewer allows you to set the skin and customize toolbars. To do this:
1. Click Menu > View > Options (or right-click anywhere on the toolbar area and select Options
from the shortcut menu).

2. In the Option tab, set the skin of JReport Viewer user interface.

3. In the Customize tab,


❍ To modify a toolbar, select it in the Current Toolbar box, remove those unnecessary items from the
Selected Tools box, and add required tools from the Available Tools box. Click or to adjust the
order of the tools on the toolbar.

❍ To add a toolbar, click to show the New Toolbar Name dialog, then specify the toolbar name,
click OK to return to the Options dialog, and set the tools for the new toolbar.

❍ To delete a toolbar, select it and click .

4. To load the default settings, including the skin, and the three built-in toolbars, namely Standard,
View, and Analysis, click the Restore Defaults button.

5. Click OK to apply the settings.

Tip: To close a toolbar, right-click anywhere on the toolbar area, then on the shortcut menu, select the
item corresponding to the toolbar name. You can also do this to open an invisible toolbar, such as a
newly-created one. The open/close toolbar operation can also be achieved by clicking the
corresponding item on the Toolbar submenu of the View menu.
● Showing/hiding user information
e User Information bar shows the current user name, catalog path and name, and report set path and
me. You can click Menu > View > User Information Bar to show or hide the bar.

Tip: Administrators can make this bar open by default. To do this, log onto the JReport Administration
page, click Profile on the system toolbar and select Configure DHTML Profile from the drop-down
menu. Go to the Properties > Default tab, and then check the User Information Bar option.
● Showing/hiding editing marks
JReport Viewer, you can use editing marks (dashed outlines of objects) for purposes such as aligning,
ving and resizing. By default, the editing marks are shown only when you create a new blank report in
eport Viewer. You can click Menu > View > Editing Marks to switch the status of the editing marks as
quired.

● Tuning report page magnification

u can zoom in or out the report page by selecting a magnification from the Zoom list on the View
olbar. You can also click Menu > View > Zoom to show the Zoom dialog, and then specify the
gnification.

● Asking for help


any time, you can click Menu > Help > User's Guide to open the index page of JReport Viewer User's
ide. Furthermore, you can click the Help button in any dialog to show the help about the dialog. You can
o use the Help menu to open the User's Guide and access Jinfonet Software website for more information.

● Setting up the page


set up the report page, click Menu > File > Page Setup. In the Page Properties dialog, specify the page
pe, the orientation, and the margins as required.

● Printing the report result


u can print the report result to a PDF/HTML file. To do this, click Menu > File > Printable Version (or

e Printable Version button on the Standard toolbar). In the Printable Version dialog, specify the
tings as required and then click OK. The PDF/HTML result file will be opened in an associated program
h which you can print the result to a printer.

● Exiting the report set


you want to close the current report set and release the resources, just click Menu > File > Exit (or the

it button which is always on the upper right corner of the JReport Viewer window, or the close
tton of the browser window). Closing the only report open will also prompt you whether or not to close
e report set. In case that you have modified the report set without saving it, JReport Viewer will prompt
u to save the report set. If you have changed the sort and/or filter criteria, you can check Sort and/or
er in this dialog to save these changes with the report set. Click Yes to save the report set and close the
port set.
Ad hoc reporting
Ad hoc reporting allows a business analyst or end user to create a new report, add new objects to an
existing report, modify report objects, and save the report set or report result. These tasks are
performed in the JReport Server environment and do not require use of JReport Designer.
This section describes the following ad hoc reporting tasks:
● Creating a report

● Adding report objects

● Applying web controls

● Making simple modifications to report objects

● Saving the report set

● Exporting the report result


Creating a report
In JReport Viewer, you can create a new report based on a predefined business/report cube to the
current report set. You can also create a new report set containing one report and then add reports to
it. However, the reports created on business/report cubes in JReport Viewer cannot be edited in
JReport Designer any further.
To create a report:

1. In a JReport Viewer window, click Menu > File > New Report (or the New Report button
on the Standard toolbar) to display the New Report dialog.
If you click Menu > File > New Report Set, the New Report Set dialog will appear for you to
create a report set with the first report in it.

2. Specify the title of the report as required in the Report Title text box.

3. In the Choose Report Layout box, select the required layout with which you want to create the
report.

4. Click OK to create the report.


❍ If Blank is selected as the layout, a report which is blank will be created. You can then use the
Toolbox and the Resource View panels to add objects and cube elements to the report.

❍ If you select the layout as Banded, Table, Chart, or Crosstab, the corresponding report wizard
will then be displayed. Specify the settings according to your requirements.

Also, on the JReport Console > Reports page, you can directly create a new report set (containing a
report) in a folder into which one or more catalogs containing some business/report cubes have been
published. To do this:
1. Open the folder and select the catalog for the new report set from the Catalog drop-down list.

2. On the task bar of the Reports page, click New Report.

3. In the Select Report Type dialog, check the option Page Layout Report and click Ok.

4. In the New Report Set dialog, create the report set containing a report as required.

Notes:
● A JReport Server Live license is required in order to use this feature. If you do not have a Live
license please contact your Jinfonet Software account manager to obtain a license.

● Before you can create a report in JReport Viewer, you need to first make sure that the catalog
corresponding to the current report set contains one or more business/report cubes and that the Pop-
up Blocker is not enabled on your web browser.

● You may want to place a hyperlink directly in your application to create a new report. To do this,
simply create a URL to your JReport Server and provide the catalog and user name; for example,
http://localhost:8888/dhtmljsp/newreport.jsp?FromServer=true&jrs.catalog=%
2fSampleReports%2fSampleReports.cat will create a new report using the embedded sample report
catalog.

The following topics show in detail how to create a report from particular layouts:
● Creating a banded report

● Creating a table report

● Creating a chart report

● Creating a crosstab report


Creating a banded report
A banded object is a kind of component that can present grouped data and detailed data, and is
composed of several banded panels with which you can easily organize data fields and other elements.
To create a banded report, follow the steps below:
1. Take steps 1 and 2 in Creating a report.

2. Select Banded as the layout and click OK to display the Banded Wizard.

3. In the Data screen, select the business/report cube in the current catalog, on which the banded
object will be built.

4. In the Display screen, add the required fields from the Resources box to be displayed in the
banded object. Modify the display name of any added field if necessary.

5. In the Group screen, add the dimension objects as the grouping criteria, then specify the
sorting direction of each group in the Sort column.

6. To add summaries, go to the Summary screen. Select the group to which the summary will be
applied, then add a measure object as the summary field.

7. In the Query Filter screen, specify the filter you want to apply to the business/report cube.

8. In the Style screen, apply a style to the banded object.

9. Click Finish to create the report.

See also Banded Wizard for details about options in the wizard.

Note: If there is only one cube in the current catalog, this cube will be used to create the report by
default, and the Data screen will be hidden from the wizard. This is the same case when there is only
one style available to be applied to the report.
Creating a table report
Tables give you great control over how to present data, including placing fields, grouping them, and
sorting them. A table is composed of row and columns, and each contains several cells. With such a
structure a table is a good way to show any two-dimensional dataset.
To create a table report, follow the steps below:
1. Take steps 1 and 2 in Creating a report.

2. Select Table as the layout and click OK to display the Table Wizard.

3. In the Data screen, select the business/report cube in the current catalog, on which the table will
be built.

4. In the Display screen, add the required fields from the Resources box to be displayed in the table.
Modify the display name of any added field if necessary.

5. In the Group screen, add the dimension objects as the grouping criteria, then specify the
sorting direction of each group in the Sort column.

6. To add summaries, go to the Summary screen. Select the group to which the summary will be
applied, then add a measure object as the summary field.

7. In the Query Filter screen, specify the filter you want to apply to the business/report cube.

8. In the Style screen, apply a style to the table.

9. Click Finish to create the report.

See also Table Wizard for details about options in the wizard.

Note: If there is only one cube in the current catalog, this cube will be used to create the report by
default, and the Data screen will be hidden from the wizard. This is the same case when there is only
one style available to be applied to the report.
Creating a chart report
A chart organizes and graphically presents data in a way that makes it easy for end users to see
comparisons, trends, and patterns in data. It represents the report data in a visually straightforward
form. A chart is based on the chart platform. On the platform, the chart paper, the legend, and labels
make up the chart. You can create a chart that contains only simple DBFields, or a complicated chart
that contains DBFields, groups, summaries, and even formulas. Normally, DBFields, summaries, and
formulas in a report are represented in a chart using chart data markers, and groups are used to
produce category names and data series names. DBFields can also be used as category names.
For details about the chart types JReport supports, see Chart types in the JReport Designer User's
Guide.
For how charts present data, see How data is represented in a chart in the JReport Designer User's
Guide.
For the elements that compose a chart, see Chart elements in the JReport Designer User's Guide.
To create a chart report, follow the steps below:
1. Take steps 1 and 2 in Creating a report.

2. Select Chart as the layout and click OK to display the Chart Wizard.

3. In the Data screen, select the business/report cube in the current catalog, on which the chart will
be built.

4. In the Type screen, specify the chart type as required.


A default chart type exists in the Chart Type Groups box. To replace it with another one, select a
chart type from the Chart Type box. The thumbnails of the subtypes in this type will then be
displayed in the Subtype box. Select the required subtype to replace the default chart type.
If you want to create a combo chart, click <Add Combo Type> of Primary Axis or Secondary Axis
in the Chart Type Groups box, and an additional subtype will be added. To replace the additional
subtype, select it, then specify the required type and subtype respectively in the Chart Type and
Sub Type boxes.

To add more subtypes, repeat the procedures. To remove a subtype, select it and click .

5. In the Display screen, select a dimension object in the Resources box and add it to the
Category or Series box, the data of which will be displayed on the corresponding axis. Select a
subtype in the Show Values box, then add a measure object as the data of the subtype (you
can add more than one measure object to a subtype). Each added subtype shall have at least one
measure object.

6. If you want to define the sort order and Select N condition on the category/series axis of the
chart, click the Order/Select N button below the Category/Series box, then define the condition
in the Order/Select N dialog as required.
a. In the Order box of the dialog, specify in which order values on the category/series axis will
be sorted.

b. In the Select N box, specify the Select N condition to All, Top or Bottom. If All is selected, all
category/series values will be shown in the chart; if Top or Bottom is selected, the text field
next to it will be enabled and you can specify an integer here, which means that the first or
last N category/series values will be shown in the chart.

c. Check the Based On checkbox and specify values for the two drop-down lists that follow
according to your requirement.
If Based On is unchecked, the order of the first or last N category/series values will be based
on what you specify in the Order box of the dialog; if you check it, the order will be based on
values of the summary field and the sort direction you specify in the drop-down lists next to
the Based On checkbox.

d. If you have selected Top or Bottom from the Select N drop-down list, you can check the
Other checkbox and the type a character string in the next text field, so that the category/
series values beyond the first or last N range will be merged into the group with the name as
that character string.

e. Click OK to accept the settings and return to the Chart Wizard.

7. In the Query Filter screen, specify the filter you want to apply to the business/report cube.
8. In the Style screen, apply a style to the chart.

9. Click Finish to create the report.

See also Chart Wizard for details about options in the wizard.

Note: If there is only one cube in the current catalog, this cube will be used to create the report by
default, and the Data screen will be hidden from the wizard. This is the same case when there is only
one style available to be applied to the report.
Creating a crosstab report
A crosstab summarizes data and presents the summaries in a compact row and column format.
To create a crosstab report, follow the steps below:
1. Take steps 1 and 2 in Creating a report.

2. Select Crosstab as the layout and click OK to display the Crosstab Wizard.

3. In the Data screen, select the business/report cube in the current catalog, on which the crosstab
will be built.

4. In the Display screen, select a dimension object and click or to add it to the Columns

or Rows box as a group field. Select a measure object and click to add it to the
Summaries box as an aggregate field. Repeat this to add more group/aggregate fields.

5. In the Display Name column, edit the display names of the added group fields or aggregate fields
if required. These will label the rows, columns and summaries when the report is displayed. By
default these are blank and no labels will be created.

6. In the Sort column, specify the sorting manner for the group fields.

7. If you want to remove any group/aggregate field, select it and click . To adjust the order of the
group/aggregate fields, select a group/aggregate field and click or .

8. In the Query Filter screen, specify the filter you want to apply to the business/report cube.

9. In the Style screen, apply a style to the crosstab.

10. Click Finish to create the report.

See also Crosstab Wizard for details about options in the wizard.

Note: If there is only one cube in the current catalog, this cube will be used to create the report by
default, and the Data screen will be hidden from the wizard. This is the same case when there is only
one style available to be applied to the report.
Adding report objects
For a newly-created or an existing report, if the corresponding catalog contains business/report cubes,
then you can add labels, images, banded objects, tables, crosstabs, charts, special fields and web
controls to the report.
Object placement
Objects can be placed within banded objects, tables, tabulars, as well as onto an empty area of a
report. The following table lists the report areas that are valid targets for the various objects, listed on
the left.

Report Layout Area


Banded Banded
Page Report Banded
Report Banded Page Group Table Tabular
Object Header/ Header/ Header/
Body Detail Header/ Header/ Cell Cell
Footer Footer Footer
Footer Footer
Banded Y N Y Y Y Y Y N Y
object
Chart Y Y Y Y Y Y Y N Y
Crosstab Y Y Y Y Y Y Y N Y
Table Y Y Y Y Y Y Y N Y
Dimension Y Y Y Y Y Y Y Y Y
object
Detail Y Y Y Y Y Y Y Y Y
information
object
Measure N N Y N N Y Y N N
object
Formula Y Y Y Y Y Y Y Y Y
Label Y N Y Y Y Y Y Y Y
Special field Y N Y Y Y Y Y Y Y
Image Y N Y Y Y Y Y Y Y
Web control Y Y Y Y Y Y Y N Y

To add an object into a report:


1. Click Menu > Insert, then click the command corresponding to the object you want to add.

2. Point to the destination where you want the object to be added, and then click the mouse button.
❍ If you specify to add a label, a label will be inserted there. Edit the text of the label and format it
according to your requirements.

❍ If you specify to add an image, the Insert Image dialog will be displayed. Specify the source of
the image as required (for details, see Insert Image dialog).

❍ If you specify to add a banded object, table, crosstab, or chart, the corresponding report wizard
will be displayed. Specify the settings in the wizard according to your requirements (for details,
see the specific topic in Creating a report).

❍ If you specify to add a special field, the special field will be inserted there (for details about the
usage of each special field, see Special fields in the JReport Designer User's Guide).
❍ If you specify to add a parameter control, parameter form control, or filter control, the
corresponding insert control dialog will be displayed. For how to specify the settings in the dialog
and the usage of the web control, see Applying web controls.

❍ If you specify to add a navigation control, a navigation control will be inserted there. For the
usage of the navigation control, see Applying web controls.

Alternatively, you can also use the Toolbox panel to add objects other than special fields into a report
by dragging them from the panel to the destination. However, in order to use the Toolbox panel to add
components, you should make sure that this ad hoc feature is enabled in the specified DHTML feature
profile. This setting can only be made by administrators.

Note: A JReport Server Live license is required in order to use this feature. If you do not have a Live
license please contact your Jinfonet Software account manager to obtain a license.
Applying web controls
In JReport Viewer, these four types of web controls can be applied: parameter control, parameter form
control, filter control, and navigation control. This section describes each of the web controls and how
to use them.
Note: A JReport Server Live license is required in order to use this feature. If you do not have a Live
license please contact your Jinfonet Software account manager to obtain a license.

Using parameter control to specify a parameter to a report


A parameter control is a web control that is bound with a parameter used by the current report. By
specifying values to the parameter in a parameter control, you can pass the parameter values to
JReport and run the report with the specified values.
Parameter controls do not support inserting cascading parameters. If you want to do this, use
parameter form controls instead.
To insert a parameter control and use it to specify a parameter to a report:
1. Do either of the following:
❍ Click Menu > Insert > Parameter Control, then point to the destination where you want to
add the parameter control and click the mouse button.

❍ Drag Parameter Control from the Toolbox panel to the destination in the report.

The Insert Parameter Control dialog is displayed.


2. Select the parameter you would like to add to the parameter control, then click OK.

3. A parameter control will be added into the report. There are the following ways to specify
parameter values according to the appearance of the parameter control which varies with the type
and properties of the selected parameter:
❍ Typing in the parameter values if the text field is editable.

❍ Selecting a parameter value from a drop-down list.

❍ Using the calendar button to specify a value using the calendar if the parameter is of Date,
Time, or DateTime type.
❍ Selecting or unselecting the checkbox to specify a Yes/No value.

❍ Using the button to specify multiple values for the parameter in the Enter Values dialog.

4. Once the value in the parameter control changes, the report will rerun with the new parameter
value.

Note: If the specified parameter is no longer used in the report, the parameter control will become
invalid.

Using parameter form control to run report sets


A parameter form control is a web control that is bound with the parameters used by the current report
set or other report sets. By specifying values to the parameters in a parameter form control, you can
make the report sets run with the specified parameter values.
To insert a parameter form control and use it to run report set:
1. Do either of the following:
❍ Click Menu > Insert > Parameter Form Control, then point to the destination where you
want to add the parameter form control and click the mouse button.

❍ Drag Parameter Form Control from the Toolbox panel to the destination in the report.

The Insert Parameter Form Control dialog is displayed.


2. Specify the target report sets to run using the parameter form control.
❍ To run the current report set, select Current Report, then specify the parameters used to run
the report set from the Select Parameters box.

❍ To run other report sets, select Others, then select the report sets you want to run. All the
parameters used by the selected report sets are displayed in the Parameter Information box. If
all the selected report sets contain no parameters, you cannot finish the dialog.

3. Specify whether to include the Submit button in the parameter form control. If Submit is included,
it is used to submit the parameter values you specified in the parameter form control. If Submit is
not included, once you change the values of a parameter in the parameter form control, the new
values will be applied automatically.
4. Click OK in the dialog to save the changes.
The parameter form control is now inserted in the report. It lists the selected parameters for the
current report set or lists all parameters used by the specified report sets.

5. In the parameter form control, specify values of the listed parameters.

6. Click the Submit button if present to run the current report set or the specified report sets. If
there is no Submit button, the change of values in the parameter form control will trigger report
set rerunning.

Note: If you save or publish a report set containing a parameter form control to another directory, the
report sets that you bind the parameter form control with will not be saved or published along with the
report set.

Using filter control to filter report data


A filter control is used to filter one or more data components, which refer to tables, banded objects,
charts, and crosstabs, in a report using the same data source. A filter control can do filtering based on
one field.
To insert a filter control and use it to filter report data:
1. Do either of the following:
❍ Click Menu > Insert > Filter Control, then point to the destination where you want to add the
filter control and click the mouse button.

❍ Drag Filter Control from the Toolbox panel to the destination in the report.

The Insert Filter Control dialog is displayed.


2. Specify the field on which the filter control is based on, then click OK.

3. The filter control is inserted in the report. It lists all values of the specified field. You can select
one or more values to apply.

4. By default the filter control applies to all the data components in the report that are using the
same data source as the filter control's field. You can specify the exact components to be applied.
To do this, right-click the filter control's title bar, select Properties. Then in the displayed dialog,
select the desired components from the Apply To drop-down list.

After inserting filter controls in the report, you can also insert a navigation control for undoing/redoing
the value selection in the filter controls. For details about the usage of navigation control, see Using
navigation control to undo/redo value selection in filter controls.

Managing a filter control


After right-clicking the title bar of a filter control, these options are available for managing the filter
control.
● Properties
Opens the Filter Control Properties dialog for editing the properties of the filter control.

● Search
Displays the quick search toolbar right above the filter control which enables you to search values in
the filter control. You can also click the button on the title bar of the filter control to launch the
quick search toolbar.

The following are details about the usage of the quick search toolbar:
❍ Text field
Type in the text you want to search for in the text field and the matched text will be highlighted
among the field values.

❍ X
Closes the quick search toolbar. You can also click outside of the quick search toolbar to achieve
this.


Lists the advanced options.
■ Highlight All
Specifies whether to highlight all matched text.

■ Match Case
Specifies whether to search for text that meets the case of the typed text.

■ Match Whole Word


Specifies whether to search for text that matches a whole word and ignore partial word matches.


Highlights the next matched text.


Highlights the previous matched text.

● Clear

Cancels the selection of values in the filter control. You can also use the button on the title bar to
cancel the selection. This operation can be undone/redone.

● Sort
Sorts the values in the filter control in the ascending or descending order.

● Delete
Removes the filter control from the report and the filter you created with the filter control will be
removed from the report too. You can also use the close button on the title bar to remove the filter
control.

● Hide
Hides the filter control.

Cascading relationship between filter controls


When there are filter controls that apply to the same data components, and when these controls' fields
have cascading relationship, the cascading relationship will be revealed when you select values in the
controls.
For example, there is a filter control based on the field Country, a filter control on City, and another on
State. The first two share one table while the third shares nothing with the other two. In this case,
Country and City values will show cascading relationship, but State values will not participate. You
select USA in the Country filter control, the values in the City filter control will change as follows if the
control has scroll bar: the cities belong to USA are displayed in the upper area of the filter control, and
the other cities are put in the lower area and grayed out. For the case that the City filter control has no
scroll bar: all the values remain their positions and the values not belonging to USA are grayed out. In
both cases all the values are selectable. But the State values remain as before, since the selection of
them will not affect the data components that the Country and City filter controls control.

Using navigation control to undo/redo value selection in filter controls


A navigation control can be considered as an accessorial control for filter controls and is used to deal
with the value selection operations in all the filter controls in the same report.
To insert a navigation control into a report, do either of the following:
● Click Menu > Insert > Navigation Control, then point to the destination where you want to add
the navigation control and click the mouse button.

● Drag Navigation Control from the Toolbox panel to the destination in the report.

A navigation control is a combination of three buttons:


● Back
Goes back to the previous value selection status and refreshes the report data accordingly.

● Clear
Removes all the value selection histories and all the filter conditions based on the selections, and
refreshes the report data accordingly.

● Forward
Goes forward to the next value selection status and refreshes the report data accordingly.
Making simple modifications to report objects
By virtue of JReport Viewer's powerful ad hoc functions, you can make simple modifications to report
objects at runtime while viewing the report in DHTML.
Note: Except for showing/hiding objects, a JReport Server Live license is required in order to use all
the other features introduced in this article. If you do not have a Live license please contact your
Jinfonet Software account manager to obtain a license.

Moving an object
A table, banded object, chart, crosstab, tabular, or image, can be easily moved to a new position. What
you need to do is click anywhere in the object, then drag the icon appearing at its upper left corner
to the destination. After JReport Viewer has finished processing, the object will be redrawn in the new
location.
For other objects, select it and move it to the new position.
Notes:
● Before you can move any object in a report, you need to first make sure that the JReport Viewer
window is in the Interactive View mode.

● For reports designed in JReport Designer, only the objects whose Position property value is absolute,
and the DBFields or labels which have been defined as a cube element can be moved in JReport
Viewer.

Resizing an object
To resize an object, click anywhere in the object, when the icon appears at its upper left corner,
click the icon to select the object, then you will see that it is surrounded by a rectangle with three
resizing handles. Point to a handle, when the mouse pointer turns to a double-headed arrow, you can
drag the handle to resize the object.
To resize a panel in a banded object, select it and drag the resizing handle to the desired position.
To adjust the width/height of a column/row in a table, point to the right/lower boundary of the column/
row, when the mouse pointer becomes a horizontal/vertical double-headed arrow, drag the handle and
the width/height of the column/row will change. This will also resize all cells in the column or row.
For a crosstab, you can resize its rows and columns the same as you do with a table.
For a tabular, point to the boundary between two cells and the mouse pointer will become a double-
headed arrow, you can then drag the boundary to adjust the size of the related cells.
To change the width and height of a field, click any value of this field to select it, then drag the right or
lower resizing handle on its borders to a new position, and the width or height of the field will change.
You can also do this for any label.
Notes:
● When resizing table rows:
❍ If you resize the table header, only the height of the header will be changed. However, when you
resize any row except the header, the height of all rows in the table will be changed at the same
time.

❍ If there are some groups in a table and the height of one group row is changed, the other group
rows will not be resized.

● When resizing crosstab columns/rows:


❍ If you resize the horizontal/vertical header of a crosstab, other rows/columns will not be affected.

❍ If you resize the total column/row of a crosstab, other columns/rows will not be affected.

Hiding/showing an object
To hide a table, banded object, chart, crosstab, or tabular, click on the object, when the icon
appears at its upper left corner, right-click on the icon and then select Hide from the shortcut menu.
For other objects such as text boxes, drop-down lists, fields, and labels, right-click it and then select
Hide to hide it.
To show a hidden object, right-click the object containing it, then on the shortcut menu, select the
object name from the Show submenu.

Splitting and merging cells in a tabular


Adjacent cells in a tabular which can form a rectangle may be merged into one cell.
To merge adjacent cells, select them one by one while holding the Ctrl key, then click Menu > Report
> Merge, and these cells will be merged into one cell.
To split a cell:
1. Select the cell and click Menu > Report > Split.

2. In the Split dialog, specify the number of rows and columns.

3. Click OK and the cell will be split.

Modifying object properties


JReport Viewer allows you to modify object properties with the corresponding properties dialog.
● To format the properties of any object in a report, right-click on the object and select Properties
from the shortcut menu. If it is a table, crosstab, chart, banded object, or tabular, click anywhere on
it, when the icon appears at its upper left corner, right-click on the icon and click Properties on
the shortcut menu. In the corresponding properties dialog, specify the settings as required. For a
table, you can also right-click any field or cell in it and select Table from the shortcut menu to show
the Table Properties dialog.

● You can right-click a group header/footer panel in a banded object, and then select Group to show
the Group Properties dialog in order to define the group properties.

● If you want to format the properties of the report, right-click the blank part of the report, select
Report from the shortcut menu, then in the Report Properties dialog, configure the properties as
required.
● To set up report page properties, click Menu > File > Page Setup, then in the Page Properties
dialog, specify the settings according to your requirements.

Tip: If you just want to modify the text related properties for a field or label, for example, you want to
change the text alignment or make the text bold, you can achieve it by simply selecting the field or
label, then clicking the corresponding buttons on the toolbar.
For detailed explanation about options in the properties dialogs, refer to the specific topics in JReport
Viewer dialogs.

Deleting an object
An object can be removed from the report if it is no longer required. However, objects that are in a
subreport cannot be deleted.
● To delete a table, banded object, chart, crosstab, tabular, or image, click on the object, when the
icon appears at its upper left corner, right-click on the icon and select Delete from the shortcut
menu, or you can drag the icon outside the report page. Then, a message box will prompt, asking for
your confirmation. Click OK in the message box so as to remove the component.

● For a field, you can drag any value of the field outside the report page to remove it. You can also
drag any label outside the report page to remove it. Right-clicking and then selecting Delete is
another way to achieve this.
Saving the report set
You can save your report set in a JReport Viewer window. To do this, click Menu > File > Save (or the

Save button on the Standard toolbar). The Save Report Template dialog appears. The Sort and
Filter options in this dialog signify whether or not to include the sort and filter criteria when saving.
Specify the options as required, then click OK, and the report set will be saved as a report set version.
If the report set is newly created and has not yet been saved, the Save As dialog will be displayed.
1. In the Report Set Name box, enter the name of the report set as required. Select a file format
from the format drop-down list.

2. From the Folder drop-down list, specify where the report set will be saved: Public Reports or My
Reports.

3. From the Directory drop-down list, further specify the directory in which the report set will be
saved.

4. Optionally, input some text in the Description box as a description for the report set.

5. Click the Advanced button to set the advanced settings for the report set if required.
a. From the Catalog drop-down list, select the catalog for the report set.

b. Specify the relationship between the saved report set and the catalog used to run it
(activated only when Select Catalog Linked Model is checked in the Profile > Configure
DHTML Profile > Properties > Advanced tab):
■ Set Original Catalog as Linked Catalog into Saved Report Set
If checked, the saved report set will be linked with the catalog and the saved report set will
run with the catalog no matter whether the two are in the same directory. If later the
catalog is updated, the saved report set will run with the latest version of the catalog.

■ Set Catalog Copy to Public Reports/My Reports


If checked, the catalog will be copied to the directory where the report set is saved and the
saved report set will run with the copied catalog.

c. If you want to save the report set together with the sort and filter criteria, check Save Sort
Criteria and Save Filter Criteria correspondingly. With the criteria saved, JReport Viewer
will automatically apply them to the report set the next time it is opened.

6. Click OK to save the report set.

To save a copy of a report set, click Menu > File > Save As (or the Save As button on the
Standard toolbar) to show the Save As dialog, and then do as above.
Notes:
● You will not be able to save the report set to some locations if you do not have the required
permissions. You need to have Write access to the directory.

● If one of the reports in a report set contains subreports, when you save the report set, changes you
have made on the subreports will not be saved along with the primary report.

● To find a newly saved report set version, browse to select the row that the report set is in on the
JReport Console > Reports page, click Tools > Version on the task bar, and then click the Report
Set Versions tab.
Exporting the report result
When you are satisfied with the result of the active report, you may want to export it as a result
version or as a local file to other formats.
The following topics describe exporting report results in detail:
● Exporting the result from a JReport Viewer window

● Exporting the result by using a JavaScript function

● Customizing buttons for one-step exporting

● Controlling user access to different export formats

● Customizing warning messages

Note: If the report you are going to export is linked to another report, in the exported results, the link
will no longer be available.
Exporting the result from a JReport Viewer window
You can export the report result from a JReport Viewer window to other formats by taking the following steps:

1. Click Menu > File > Export (or the Export button on the Standard toolbar) to display the Export
dialog.

2. From the Select Report Result Format drop-down list, select the format in which to export the result:
HTML, PDF, Excel, Text, RTF, XML, PostScript, or DHTML Result.

3. Specify the destination of the result:


❍ Save to Version System: The result will be saved as a result version in JReport Server's versioning
system.

❍ Save to File System: The web browser will prompt you to save the result file to a specified folder. If
selected, you need to provide a name for the result file in the File Name field.

❍ View Report Result: The result will be directly opened in the web browser if the format is supported
by a plug-in of the web browser; otherwise it will prompt you to save the result file.

4. In the File Name field, specify the name of the exported result file.

5. To specify the additional setting of the selected format, click More Options.

6. From the Style Group drop-down list, select the style group you want to apply to the exported report
result. If No Style is selected, the style group property predefined for the specified export format in
JReport Designer will be applied to export the report result to that format.

7. Set the other properties for the selected format as required (for details about properties of each format,
see Export dialog).

8. Click OK to confirm.
Exporting the result by using a JavaScript function
JReport Server provides you with a JavaScript function which allows you to open the report result or
export it in a specified format. You can find this function in the file API.js in <server_install_root>
\public_html\javascript\dhtml, as shown below:
function user_oneStepExport(type, options)

The following explains this function's two arguments, type and options, in detail.
type - Specifies the export format.
● HTML = 0

● PDF = 2

● PS = 3

● RTF = 4

● TEXT = 5

● EXCEL = 6

● XML = 7

options - Specifies the values of the options of each format. It is a string array whose member is of
the format "key=value". The options and their usage are listed as follows:

Default
Key Description Available Value
Value
HTML
to_ver Specifies whether or not to save the result to true, false false
version.
to_open Specifies whether or not to export and open the true, false false
result file.
to_local Specifies whether or not to save the result to a true, false false
local file.
browser Specifies the web browser type. 0 - IE or Chrome 0
1 - Firefox
imagetype Specifies the type of the images in the result file. 0 - Decided by JReport 0
1 - GIF
2 - JPG
overflow Specifies the overflow type. 0 - VISIBLE 0
1 - HIDDEN
2 - VERFLOWCOUNT
resolution Specifies the HTML resolution. Any integer between 1 and 96
4294967296
title Specifies the title for the HTML file. Any string ""
applet Specifies whether or not to export chart in Java true, false true
applet format.
css Specifies whether or not to embed the cascading true, false false
style sheet in the exported HTML files.
multi Specifies whether or not to generate an HTML file true, false false
for each page of the report result.
hyperlink Specifies whether or not to contain hyperlinks in true, false false
the HTML file.
pagenumber Specifies whether or not to contain page numbers true, false false
in the HTML file.
drilldown Specifies whether or not to include the drilled-down true, false false
file in the exported HTML file.
no_margin Specifies whether or not to remove the original true, false false
margins.
absolute Specifies whether or not to make the font size fixed true, false false
in the web browser.
PDF
to_ver Specifies whether or not to save the result to true, false false
version.
to_open Specifies whether or not to export and open the true, false false
result file.
to_local Specifies whether or not to save the result to a true, false false
local file.
no_margin Specifies whether or not to remove the margin. true, false false
simulate Specifies whether or not the mode is to be true, false true
Simulated Printing Mode.
standard Specifies whether or not to set the mode as true, false false
Standard Mode.
content Specifies whether or not to contain the TOC in the true, false false
exported PDF file.
drilldown Specifies whether or not to include the drilled-down true, false false
file in the exported PDF file.
encrypt Specifies whether or not to encrypt the report true, false false
result.
compress Specifies whether or not to compress the images in true, false false
the report.
ratio Specifies the percentage with which to compress Any integer between 1 to 100 20
the images in the report.
compatibility Specifies the encryption compatibility. 0 - Acrobat 3.0 and later 1
1 - Acrobat 5.0 and later
doc_psw Specifies the password for opening the PDF file Any string ""
when encrypt=true.
permi_pasw Specifies the password for printing and editing the Any string ""
PDF file when encrypt=true.
printing Specifies the PDF printing mode. 0 - Prevents users from 0
printing the file
4 - Allows low resolution-
printing
2052 - Allows high-resolution
printing
changes Defines which editing actions are allowed in the 0 - Prevents users from 0
PDF file. making any changes to the file
1024 - Allows inserting,
deleting, and rotating pages
256 - Allows users to fill in
form fields and adding digital
signatures.
32 - Aallows users to fill in
form fields and add digital
signatures and comments
40 - Allows users to do
anything except extracting
pages
2108 - Allows all
enable_copy Specifies whether or not to allow users to copy the true, false false
file contents.
enable_access Specifies whether or not to let visually impaired true, false true
users read the document with window readers.
PostScript
to_ver Specifies whether or not to save the result to true, false false
version.
to_open Specifies whether or not to export and open the true, false false
result file.
to_local Specifies whether or not to save the result to a true, false false
local file.
no_margin Specifies whether or not to remove the margins in true, false false
the PS file.
RTF
to_version Specifies whether or not to save the result to true, false false
version.
to_open Specifies whether or not to export and open the true, false false
result file.
to_local Specifies whether or not to save the result to a true, false false
local file.
rtf_flow Specifies whether or not to apply a flow layout true, false false
when exporting the report to RTF.
no_margin Specifies whether or not to remove the margins in true, false false
the RTF file.
Text
to_ver Specifies whether or not to save the result to true, false false
version.
to_open Specifies whether or not to export and open the true, false false
result file.
to_local Specifies whether or not to save the result to a true, false false
local file.
repeat Specifies whether or not to replace a field value of true, false false
a record with that of its previous record if the field
value is null.
compress Specifies whether or not to compress the clearance true, false false
between columns.
win_linebreak Specifies whether or not to use Windows end-of- true, false true
line characters.
normal Specifies whether or not to generate the report true, false true
result to a standard text file.
quote_mark Specifies whether or not to mark the fields in the true, false false
exported file with quotation marks.
head_foot Specifies whether or not to contain all headers and true, false true
footers in the report.
delimiter Specifies the delimiter. Any single character
width Specifies the user-defined character width. An integer
height Specifies the user-defined character height. An integer
Excel
to_ver Specifies whether or not to save the result to true, false false
version.
to_open Specifies whether or not to export and open the true, false false
result file.
to_local Specifies whether or not to save the result to a true, false false
local file.
wrap Specifies the word-wrap setting. 0 - All Keep Existing 0
1 - All Disabled
2 - All Enabled
new_layout Specifies whether or not to use the new layout true, false true
mode.
shapes Specifies whether or not to include the shapes in true, false false
the exported file.
excel_2000 Specifies whether or not to export the result in true, false false
Excel 2000 format.
advanced Specifies whether or not to apply the advanced true, false false
options.
header Specifies the page header text. Any string
footer Specifies the page footer text. Any string
gridline Specifies whether or not to print gridlines when true, false false
printing the exported Excel file.
XML
to_ver Specifies whether or not to save the result to true, false false
version.
to_open Specifies whether or not to export and open the true, false false
result file.
to_local Specifies whether or not to save the result to a true, false false
local file.
only_data Specifies whether or not to only contain the true, false false
database column information in the exported XML
file.
schema Specifies the name of an existing schema file with An existing schema file with its
its full path with which to generate the XML file. full path.

Notes:
● The three options to_ver, to_open, and to_local are mutually exclusive, that is, only one of them
should be true, and the rest false. If you set two or three of them to true, JReport will only accept
the first true and treat the rest as false. If you set all three to false, JReport will consider to_open as
true.

● In the string array options, the members are separated by commas (","). You can arrange the
members in any order, and omit those keys where you want to use the default value. For example,
you can define a variable html_options:
var html_options = ["imagetype=1", "resolution=120", "hyperlink=true",
"no_margin=false", "title=hello world"];

Then, you can use user_oneStepExport(0, html_options) to obtain a URL for exporting the report
result in HTML format.

● JReport also provides the function user_downloadReport(type, options) whose usage is similar to
user_oneStepExport.
Customizing buttons for one-step exporting
Seven buttons are provided for one-step exporting. They are Export to PDF, Export to Excel, Export to
RTF, Export to HTML, Export to Text, Export to PS, and Export to XML. By default, the buttons are
invisible on the toolbar area. You have to add them to the toolbar area by modifying the index.jsp file
in <install_root>\public_html\dhtmljsp.

Use the following two API functions to control the buttons:


● public void customizeToolbar(String SessionId, String RptSetId, String toolbarname, int[] buttonId);

● public void customizeToolbar(String SessionId, String RptSetId, String toolbarname, int[] buttonId,
boolean isVisible);

Explanation of these parameters:


● SessionId - session ID, which can be retrieved by DHTMLUtil.getSessionID(request).

● RptSetId - report set ID, which can be retrieved by obDHTMLUtil.getRptSetId(request).

● toolbarname - toolbar name, such as "Standard", "Analysis", "View", or user-defined ones.

● buttonId[] - toolbar button ID. It is an integer array, so you need define an integer array variant.
For example: int[] mybuttonid ={DHTMLConstant.TOOLBAR_EXPORTTOPDF, DHTMLConstant.
TOOLBAR_EXPORTTOXLS, TMLConstant.BTN_EXPORT_TO_RTF}
The array elements available for one-step exporting are:
❍ DHTMLConstant.TOOLBAR_EXPORTTOPDF

❍ DHTMLConstant.TOOLBAR_EXPORTTOXLS

❍ DHTMLConstant.TOOLBAR_EXPORTTORTF

❍ DHTMLConstant.TOOLBAR_EXPORTTOHTML

❍ DHTMLConstant.TOOLBAR_EXPORTTOTEXT

❍ DHTMLConstant.TOOLBAR_EXPORTTOPS

❍ DHTMLConstant.TOOLBAR_EXPORTTOXML

● isVisible - whether or not to show the buttons defined with buttonID[]. true -- show, false -- hide.
This parameter can be absent, and then the value is true.

For example, if you want to add the Export to HTML button to the Export toolbar, then:
1. Open the file index.jsp.

2. Add the code


int[] temparray = {DHTMLConstant.TOOLBAR_EXPORTTOHTML};
dhtmlConfig.customizeToolbar(SessionID, RptSetId, "Export", temparray, true);

before
//<!-- Tool Bar -->
if(dhtmlConfig.isFeatureEnabled(SessionID, RptSetId, DHTMLConstant.
FEATURE_TOOLBAR)){

3. Start JReport Server.

4. Run a report set in the DHTML format, and you will see a new button Export to HTML is displayed
on the Export toolbar.

To add more than one button to the toolbar area, for example, adding Export to HTML and Export to
PDF buttons to the Export toolbar:
1. Open the file index.jsp.

2. Add the code


int[] temparray = {DHTMLConstant.TOOLBAR_EXPORTTOHTML, DHTMLConstant.
TOOLBAR_EXPORTTOPDF};
dhtmlConfig.customizeToolbar(SessionID, RptSetId, "Export", temparray, true);

before
//<!-- Tool Bar -->
if(dhtmlConfig.isFeatureEnabled(SessionID, RptSetId, DHTMLConstant.
FEATURE_TOOLBAR)){

3. Start JReport Server.

4. Run a report set in the DHTML format, and you will see the buttons Export to HTML and Export to
PDF are displayed on the Export toolbar.

5. Click the added button on the toolbar of the report page, the report will be exported to the
corresponding format, using the default values of the format options.
Controlling user access to different export formats
JReport introduces an access control ability which can restrict different users to export report result to
different formats.

How to realize the access control ability


You can restrict the report result formats for users by passing values to a variable. That is the global
variable enableTypes in both customize_panel.jsp and save_result.jsp files in <install_root>
\public_html\dhtmljsp folder. The value of enableTypes should be Integer, and JReport gives you the
following integers to represent the corresponding report result types:

Report Result
Int. Value
Format
HTML 0
PDF 1
Excel 2
Text 3
RTF 4
XML 5
PostScript 6

You can specify a value or an array to enableTypes using the integers in the above table. Or you can
also use the integers which are not mentioned above, but if you do so, the Int. values will be ignored,
and do not function. That is to say, if you pass the array {1,2,5,9,-2} to enableTypes, 9 and -2 will be
ignored and {1,2,5} will work, so PDF, EXCEL, XML formats can be in use.

Example
Assume that there are two users, user1 and user2. When user1 logs on, run a DHTML report set, he
can only export the report result as PDF and HTML formats. While user2 can export the report result as
RTF and XML formats when logging on. To realize it, you can use the following codes in
customize_panel.jsp or save_result.jsp file:
int[] enableTypes=null;
String UserName=null;
UserName=DHTMLUtil.getUserName(request);
if(UserName.equalsIgnoreCase("user1"))
enableTypes=new int[]{1,0};
if(UserName.equalsIgnoreCase("user2"))
enableTypes=new int[]{4,5};
Customizing warning messages
You can customize the warning messages when exporting the report result to XML through JReport
Viewer. With this function, you can specify what you want to show as a warning message. The custom
warning messages are supported across web browsers.
To customize the warning messages, you need to customize the jsp files using either of the following
two methods:
Method 1
1. Open the save_result.jsp file in the <install_root>\public_html\dhtmljsp folder with your
favorite editor.

2. Specify the value of customMsgForXML in the save_result.jsp to whatever you want. The value
cannot be "" or null.

3. Run a report set in JReport Viewer, click Menu > File > Export to display the Export dialog.

4. Select XML from the Select Report Result Format drop-down list, and if necessary, modify other
properties as required, then click OK.

5. A warning message shows as you have defined.

Method 2
You can also export the report result via the Export panel instead of clicking Menu > File > Export. By
default, the panel is hidden. So, the following is another way to create custom warning messages:
1. Open the customize_panel.jsp file in the <install_root>\public_html\dhtmljsp folder with your
favorite editor.

2. Set the class of panelDIV to visibleMargin to show the Export panel on web browser.

3. Specify the value of customMsgForXML in customize_panel.jsp.

4. Run a report set in JReport Viewer, and the Export panel together with the report set shows.

5. Select XML from the Select Report Result Format drop-down list, and if necessary, modify other
properties as required, then click OK.

6. A warning message shows as you have defined.

For example, using method2, when you need to export the report result as XML, and if you want to
show "This is IE Browser" while browser is IE, you need to set panelDIV in customize_panel.jsp file to
visibleMargin as follows:
<div id="<%=DHTMLConstant.DHTML_PREFIX%>panelDIV" class="visibleMargin">

And then customize CustomMsgForXML in the same jsp file as follows:


String browserName=request.getHeader("User-Agent");
String customMsgForXML ="This is "+browserName;

Access JReport Server via IE, run a report set in JReport Viewer, select XML from the Select Report
Result Format drop-down list in the Export panel, and click OK. Then a pop-up box will show you "This
is IE Browser".
DHTML based reporting
DHTML based reporting enables enterprise-wide information delivery. With JReport Viewer,
organizations can harness the power of the Internet, giving users across the enterprise the ability to
access and generate reports from their own web browsers.
The DHTML based reporting function of JReport empowers you to perform the following operations:
● Filtering report data

● Sorting report data

● Searching for text in a report


Filtering report data
In JReport Viewer, data is cached in a data buffer. You can set a series of conditions and apply them to a DHTML
server to filter the data buffer and reproduce the report result.
There are these methods you can use to set the filter conditions: using the Filter dialog, using filter controls,
using the shortcut menu, and using labels.

Using the Filter dialog


To set the filtering conditions using the Filter dialog:

1. Click Menu > Report > Filter, or the Filter button on the Analysis toolbar to show the Filter dialog.
2. Select the component on which the filtering will be based from the Apply to drop-down list.

3. Define the filter as required.


There are the basic and advanced modes of the dialog for you to define either simple or complex filter
expressions.
❍ To define a filter using simple expressions:
a. Make sure the dialog is in the basic mode.

b. From the field drop-down list, select the field on which the filter will be based.

c. From the operator drop-down list, set the operator with which to compose the filter expression.

d. Type the values of how to filter the field in the value text box, or select one or more values from the
drop-down list.

e. If you want to add another condition line, from the logic operator drop-down list,
■ To add a condition line of the AND relationship with the current line, select AND, then define the
expression as required.

■ To add a condition line of the OR relationship with the current line, select OR, then define the
expression as required.

Repeat this to add more filter expressions if required. To delete a condition line, click on its left.

❍ To define a filter using complex expressions:


a. Switch the dialog to the advanced mode.

b. From the field drop-down list, select the field on which the filter will be based.

c. From the operator drop-down list, set the operator with which to compose the filter expression.

d. Type the values of how to filter the field in the value text box, or select one or more values from the
drop-down list.

e. To add another condition line, click the Add Condition button and define the expression as required.
Then, click the logic button until you get the required logic to specify the relationship between the
two filter expressions. The logic can be AND, OR, AND NOT, or OR NOT.

f. Repeat the above steps to add more filter expressions if necessary.


To group some conditions, select them and click the Group button, then the selected conditions will
be added in one group and work as one line of filter expression. Conditions and groups together can
be further grouped. To take any condition or group in a group out, select it and click Ungroup. It is
the equivalent of adding parenthesis in a logic expression.
To adjust the priority of a condition line or a group, select it and click the Up or Down button.
To delete a condition line or a group, select it and click the Delete button.

4. Click OK to make the filter take effect and return to the report.

Using filter controls


A filter control is a web control used to filter one or more data containers, which refer to tables, banded objects,
charts, and crosstabs, in a report using the same data source. A filter control can do filtering based on one field.
For details, see Using filter control to filter report data.
Using the shortcut menu
You can also use filter-related commands on the shortcut menu to filter the data in a banded object or table. To
do this, point to any value of the field by which you want to filter data, then right-click to show the shortcut
menu. You will see the Filter item which provides a submenu containing the following commands:
● Remove Filter
This command is enabled after you have applied filtering on the field to the banded object or table. Clicking this
item will remove all filters on this field.

● Top N
Shows the Top N dialog with which you can filter data to display records that meet the Top N condition.
For example, if you input 3 in the Top N dialog for a certain field, then only the records with the field value
equal to one of the first three field values will be displayed.

● Bottom N
Shows the Bottom N dialog with which you can filter data to display records that meet the Bottom N condition.
For example, if you input 3 in the Bottom N dialog for a certain field, then only the records with the field value
equal to one of the last three field values will be displayed.

● Field values
"Field values" is not the name for a command on the Filter submenu, but represents some items which are the
values of the field you have right-clicked. Selecting any field value listed here will make the banded object or
table only display records with the field value equal to the selected one.

● More
This command is enabled if the Filter submenu cannot list all field values. When it is enabled, clicking it will
show the Select Values dialog. You can select one value in this dialog and apply the setting, after which the
banded object or table will only display records with the field value equal to that value.

Using labels
You can also use a label to control the filter condition in a banded object or table. This feature needs to be
enabled at report design time.
1. In JReport Designer, select a label in a banded object/table, and then set its Filterable property to true.

2. Set the field by which you want to filter records as the value of the label's Bind Column property.

3. Save the report set and publish it to JReport Server.

4. Run the report set in JReport Viewer, and you can find that a button is beside the label. Click it to show
the Filter list, which contains All, Top N, Bottom N, Custom Filter, the field values, and More (if there are too
many distinct values for the field), then click the corresponding item to filter the records.

After applying a filter on the field decided by the Bind Column property, the button will be affixed with a
check mark, and you can still click it to show the Filter list, in which the All item can help you remove the
filters on the field.

Notes:
● You can also filter records by using the shortcut menu for a label in the same way as for a field value, provided
you have set its Bind Column property value to a field.

● When using the shortcut menu for a field value or label to filter, all the items (Remove Filter, Top N, Bottom N,
and More) will be showed by default. If you want to disable some of the items, you should set the field's Filter
Options property when designing the report set in JReport Designer. For details, see Setting filter options for a
field in the JReport Designer User's Guide.

● For filtering the data using shortcut menu or labels, you may notice that the corresponding filter expressions
will appear in the Filter dialog if you open this dialog.

● JReport allows you to define the display names for fields to be shown in the Filter dialog. For detailed
information, see Customizing the field display names in the JReport Designer User's Guide.
Sorting report data
You can sort the records in a banded object or table, and the groups in a certain group level of the
banded object or table if you have defined one or more group levels. If you want the data of other
types of cube elements to be sorted, you should put the cube element into a banded object or table
and make the data of the cube element inherit from the banded object or table.
● Sorting records: Changing the order of records in the whole banded object or table, or in each
group if there exists one or more group levels. The sorting scope is the whole banded object or table.

● Sorting groups at a group level: Changing the order of groups at the specified group level, that
is, the groups will be sorted by value of the first record in each group on the related field. The sorting
scope is the group level.

You can achieve the above by using the Sort dialog, shortcut menu, or labels.

Using the Sort dialog


To set the sort conditions in the Sort dialog:

1. Click Menu > Report > Sort (or the Sort button on the Analysis toolbar) to bring up the
Sort dialog.
2. From the Sort in Scope drop-down list, select a banded object/table or a group field on which the
sort condition will be based.

3. From the field drop-down list, select the field on which to sort the data, then set the sort order to
Ascending or Descending.

4. If you select a banded object/table in Step 2, you can click to add a new row of sorting
condition if required. Click or to move a row up or down so as to set the sorting priority,
to delete the corresponding sorting condition if it is unwanted.
If what you select in the Sort in Scope drop-down list is a group field, then only one sort condition
can be composed.
To retrieve the opening status of this dialog, click the Reset button.

5. Click OK to accept the settings and to reload the result.

Using the shortcut menu


To sort data on a certain field using shortcut menu:
1. Point to any value of a detail field or group field by which to sort the data in the banded object/
table, and then right-click.

2. Choose the command Sort > Ascending or Sort > Descending from the shortcut menu.
If what you right-click in Step 1 is a detail field value, the sorting will affect the order of detail
records in the banded object or table; if it is a group field value, the order of groups in the group
level represented by the group field will be rearranged.

To remove the sort condition on a field, click Sort > No Sort.

Using labels
You can use a label to control the sorting order for a certain field. This feature needs to be enabled at
report design time.
1. In JReport Designer, select a label in a banded object/table, and then set the Sortable property of
the label to true.

2. Set the field by which you want to sort records as the value of the label's Bind Column property.

3. Save the report set and publish it to JReport Server.

4. Run the report set in JReport Viewer, and you can click beside the label to sort the data. This
button will change after you have clicked it, and you can further click it to switch the sorting
direction among ascending, descending, and no sort.

Notes:
● You cannot sort the data by a global type formula.

● You can also conduct sorting by using the shortcut menu for a label in the same way as for a field
value, provided you have set its Bind Column property.

● For sorting the data using shortcut menu or labels, you may notice that the corresponding sort
expressions will appear in the Sort dialog if you open this dialog.

● If you use the shortcut menu to sort the report data by a field and then sort by another field, the
later sort condition will replace the former one.

● JReport allows you to define display names for fields to be showed in the Sort dialog. For detailed
information, see Customizing the field display names in the JReport Designer User's Guide.

● You can right-click an object in a banded object and select the Reset item from the shortcut menu to
reproduce the data of the banded object using the data cached in the data buffer. This will clear all
sort and filter conditions except for those predefined in JReport Designer.

● Administrators can customize the buffer size for sorting of each report in the Configuration page of
JReport Server so as to improve performance.
Searching for text in a report
You can use the Search dialog to find text in the values of a certain field or in the whole report content.

To show this dialog, click Menu > Edit > Search, click the Search button on the Standard
toolbar, or right-click a field value or label (or object such as text box) and click Search on the
shortcut menu.

● To find text in the values of a particular field:


1. Make sure the Search in Whole Report option in the Search dialog is NOT checked.

2. Select the field from the Select Field drop-down list.

3. Set the range with which to search for the value from the Value Range drop-down list.

4. Select the field value you want to search for from the Value drop-down list.

Note: If All is selected in the Value Range drop-down list, the only item in the Value drop-
down list will be All and you cannot change the value, in which case, when you submit the
search, JReport will search for all the values of the selected field.

● Specify whether or not to match case, whether or not to match whole word, whether or not to
highlight all the matching values and the searching direction.

● Click the Search button.

● To find text in the report content:


1. In the Search dialog, check the Search in Whole Report checkbox.

2. Type the string you want to search for in the Value box.

3. Set the other options such as the searching direction.

4. Click the Search button.

Notes:
● Finding text in the values of a particular field is not supported on crosstabs and charts.

● If you check Highlight All in the Search dialog, to clear the highlighting in the search result, uncheck
the option and submit the search again, or refresh the report.

● If you have not selected the Search in Whole Report option, you will not be able to search special
fields for strings.

● JReport allows you to define display names for fields to be shown in the Search dialog. For detailed
information, see Customizing the field display names in the JReport Designer User's Guide.
Analytic reporting
JReport Viewer provides you with a convenient and powerful tool to analyze your business information.
By providing secure web access to business data and making the data interactive, JReport Viewer
facilitates data analysis.
JReport Viewer enhances the utility of production reports by making them interactive - allowing you to
define your view of data to make it more useful. Through a user-friendly web GUI, report contents can
be easily navigated, drilled, and viewed in detail.
JReport Viewer uses the Resource View panel to provide a business-oriented view of databases. This
view shields end users from having to understand database connectivity and SQL syntax while allowing
IT professionals to maintain control of business data and to ensure its integrity. Using the Resource
View panel, JReport Viewer dynamically builds SQL statements to retrieve data and automatically
generate multidimensional data cubes. These cubes contain the underlying data structure which makes
data analysis possible.
The following topics describe the analytic reporting features:
● An introduction to business/report cubes

● Applying filters to business/report cubes

● Using cube elements

● Using dynamic resources

● Drilling through the report data

● Manipulating data components

● Adding conditional formats to fields

● Converting between components

● Navigating through the report data

Note: A component created in JReport Designer is based on a dataset, while that created in JReport
Viewer is based on a business/report cube. For the former, if you want to do analytic actions in JReport
Viewer, such as adding a cube element, converting the component type, drilling it, or changing chart
definition, JReport Viewer will need to convert its fields to cube elements (for details, see Converting
query-based components to report cube-based in the JReport Designer User's Guide). When conversion
conditions are fulfilled, when you perform analytic actions in JReport Viewer, you will be prompted with
the Convert Data Fields dialog to confirm the conversion. However, if the report property Automatic
Cube Initialization has been set to true when the report is designed in JReport Designer, the data fields
will be automatically converted to cube elements when the report is opened in JReport Viewer.
An introduction to business/report cubes
A business/report cube, which is needed for creating multidimensional data cubes, contains database
connections and relationships between cube elements. The business/report cube shields report end
users from having to understand the physical structure of a data source, and enables them to build
reports and analyze data based on a set of cube elements they can understand. It also enables IT
professionals to maintain control of the business data and ensure its integrity, while presenting end
users with an intuitive view of the underlying data structures.
To make use of a business/report cube, you need to first define it at report design time in JReport
Designer. For additional information, see Using business/report cubes in the JReport Designer User's
Guide.
A business/report cube may contain category objects and cube elements (dimension objects, measure
objects, and detail information objects). You can insert these cube elements or remove them to change
the report result when you view reports in DHTML format.
● Category objects
Category objects contain a collection of cube elements. A business/report cube may contain more
than one category. In the Resource View panel, the icon indicates that an object is a category.
Categories are only for categorizing cube elements, and they cannot be inserted into a report. The
category is often used for indicating the name of the underlying DBMS table.

● Dimension objects
Dimension objects are cube elements that will become the basis for analysis in a report. They
characteristically return text or date values. In the Resource View panel, the icon indicates that
an object is a dimension object. A dimension object can be inserted wherever a group field can be
inserted into. It can be inserted as a column or row field in a crosstab, or as a group field or detail
field in a banded object or a table, or displayed as category/series field in a chart.

● Measure objects
Measure objects are numeric cube elements that are calculated dynamically at run time. The icon
indicates that an object is a measure object. A measure object can be inserted wherever a summary
can be inserted. For instance, it can be inserted into the group header or footer panel in a table or
banded object, or into a crosstab as an aggregate field. A measure object can also be used as a
detail field in a banded object or table although it will display the same aggregate value for every
detail line. JReport Viewer will calculate the summary values based on the group level the measure
object has been inserted into.

● Detail Information objects


Detail Information objects provide additional information. The icon indicates that an object is a
detail information object. It can be inserted wherever a DBField can be inserted. For example, you
can insert a detail information object into a table or banded object as a detail field.
Applying filters to business/report cubes
When creating reports in JReport Viewer, you can choose to apply some filter to the specified business/
report cube to narrow down the data scope of the business/report cube. Filters for business/report
cubes are defined into two categories in JReport Viewer: predefined filters and user defined filters. As
the name suggests, predefined filters are defined on business/report cubes in advance in JReport
Designer (for details, refer to Defining and applying predefined filters in the JReport Designer User's
Guide), and user defined filters are created on business/report cubes while they are used in JReport
Viewer.
Filters can be applied to business/report cubes in JReport Viewer in the following ways:

Applying a filter to a business/report cube while creating a report


1. In a JReport Viewer window, click Menu > File > New Report to display the New Report dialog.

2. Specify the title of the report as required in the Report Title text box.

3. In the Choose Report Layout box, select the layout as Banded, Crosstab, Table or Chart and
then click OK.

4. In the corresponding report wizard, select the required business/report cube for the report, and
the fields you want to display in the report.

5. Click the Query Filter screen.


All the predefined filters of the selected business/report cube are listed in the Query Filter drop-
down list. Choose the one you want to apply. If you want to further edit the filter, click the Edit
button and then redefine the filter as required. The edited filter will then be saved as a user
defined filter to the business/report cube.
If you prefer to define a filter on your own, select User Defined from the Query Filter drop-down
list, then define the filter according to your requirements.
There are the basic and advanced modes of the screen for you to define either simple or complex
filter expressions. See Filtering report data for details about how to define a filter.

6. Click Finish in the report wizard and the specified filter will be applied to the business/report
cube, so that your report will get data that meets the filter condition only.

Applying a filter to a business/report cube while inserting a data component


1. In a JReport Viewer window, do either of the following:
❍ Click Menu > Insert > Banded Object/Table/Crosstab/Chart, point to the destination, and
then click the mouse button.

❍ Drag Banded Object, Table, Crosstab, or Chart from the Toolbox panel to the destination.

2. In the corresponding report wizard, select the required business/report cube for the component,
and the fields you want to display in the component.
3. In the Query Filter screen, specify the filter you want to apply to the business/report cube from
the Query Filter drop-down list, or define a filter according to your requirement.

4. Click Finish to create the component and the specified filter will be applied to the business/report
cube.

Applying a filter to a business/report cube after a report is built


1. Select the component in a report which was created on a business/report cube by clicking
anywhere in it, and then clicking the icon at the upper left corner of the component.

2. Click Menu > Report > Query Filter, or right-click the component and select Query Filter from
the shortcut menu to display the Query Filter dialog.

3. From the Query Filter drop-down list, select the filter you want to apply to the business/report
cube used by the component, or define a filter according to your requirement.

4. Click OK to apply the filter to the business/report cube.

Notes:
● A JReport Server Live license is required in order to use this feature. If you do not have a Live
license please contact your Jinfonet Software account manager to obtain a license.

● Business/report cube filters are defined on the component level in JReport Viewer, which means each
time you create a component, you can apply a filter to the business/report cube it applies to and it
will not affect other components based on the same business/report cube.

● In JReport Viewer, you cannot edit the predefined filters that have been created on a business/report
cube at the Designer side. You can just edit the condition based on a predefined filter and then the
edited filter will be saved as a user defined filter.
Using cube elements
After a report set has been built and published to JReport Server, you can open it in JReport Viewer and use the Resource View
panel to analyze data of any report in the report set by dragging cube elements from the panel to the component (banded object,
table or crosstab) in the report, provided that the data objects used by the component can be converted to corresponding cube
elements (see the note in Analytic reporting for details).

Tip: To display the Resource View panel, click Menu > View > Resource View or the Resource View button on the View
toolbar. You can use the search bar at the top of the panel to search for any desired resource in a fast and convenient way.
The following examples show how to analyze reports using cube elements. These examples are based on the WorldWideSalesRC
report cube in Data Source 1 of the SampleReports catalog. The report cube contains thirteen dimension objects (City, Country,
Customer Name, Region, State, Territory, Sales Month, Sales Quarter, Sales Year, Category, Product ID, Product Name, and Product
Type), eleven detail information objects (Address 1, Country, Customer Name, CustomerCityStateZip, Phone, Cost, Discount, Order
Date, Quantity, Total, and Unite Price), and three measure objects (Total Cost, Total Quantity, and Total Sales). Total calculates the
value of the formula ("Unit Price" * Quantity - "Unit Price" * Quantity * Discount/100), Total Sales defines an aggregate function
Sum on the formula Total, Total Cost is Sum on Cost, and Total Quantity is Sum on Quantity.
● Example 1: Analyzing a banded report

● Example 2: Analyzing a crosstab report

● Example 3: Analyzing a table report

Example 1: Analyzing a banded report


1. In JReport Viewer, design a banded report titled Sales in China on WorldWideSalesRC, which shows the fields Product ID,
Country, Product Name, Unit Price, Quantity, and Discount, and applies the ClassicBlue style.
First, we will apply a filter to the banded object to narrow down data scope.

2. Click the Filter button on the Analysis toolbar. In the Filter dialog, define the filter as COUNTRY = 'China'.

We want to further sort the banded object by Product Name ascending.


3. Right-click any of the Product Name values and select Sort > Ascending from the shortcut menu.

4. As the banded header panel holds no data, we can hide it by right-clicking it and selecting Hide from the shortcut menu.
Now the report shows as follows:

Next, we will add the Total field to the banded object and group by the City field.

5. Click the Resource View button on the View toolbar, then resources of the report cube the banded object uses will be
shown in the panel.

6. From the Resource View panel, drag the detail information object Total in the Orders Detail category to the detail panel of the
banded object.
7. Drag the dimension object City in the Customers category to the banded page header panel, when a blue line appears, release
the mouse button.

8. Finally, drag the measure object Total Sales in the Orders Detail category to the group footer panel.

9. We can now analyze the data in various ways. For example, if we want to see the sales by category instead of city, right-click
on any of the City fields and select Drill To > Category from the shortcut menu, then we can see the same report with an
entirely different view of the data.
Example 2: Analyzing a crosstab report
1. Design a crosstab report on WorldWideSalesRC showing product sales information with Product Type (ascending) as the column
field, Category (ascending) as the row field, and Total Cost as the aggregate field. Apply the ClassicBlue style to the crosstab.

First, we want to replace the product type information with region information, and display the total sales of each product category
in each region.
2. Remove Product Type from the crosstab by pointing to the header Product Type (Decaf or Regular), then dragging it outside
the report page. A message box will prompt you whether or not to remove the field. Click OK to confirm, and we can see that
the crosstab no longer contains the Product Type information.

3. Click the Resource View button on the View toolbar, then resources of the report cube the crosstab uses will be shown
in the panel.

4. Drag the dimension object Region in the Customers category from the Resource View panel to the crosstab until a blue line
appears indicating the group level of the dimension.
5. Drag the measure object Total Sales in the Orders Detail category to the aggregate area of the crosstab.

Now the total sales of each product category in each region is displayed.

6. Then we would like to see the territory information for the EMEA region. Click in the EMEA header and we will drill down to the
next lower level based on the hierarchy defined in the report cube which in this case is Territory.
Using the same way, we can further drill down to the country, then the city levels which have been defined in the hierarchy to
get detailed sales information in each city. For more details about drilling, refer to Automatic drilling.

Example 3: Analyzing a table report


For a table, you can analyze its data in the same way as for a banded object. Furthermore, JReport Viewer provides some analysis
methods specific for tables.
1. Design a table report on WorldWideSalesRC, which shows the fields Product Type, Country, Product Name, Unit Price, Quantity
and Discount, and applies the ClassicBlue style.

2. Add a filter COUNTRY = 'China' AND PRODUCT TYPE = 'Decaf' to the table (see Example 1 for details on filtering). The table
displays as follows:

For a table, we can insert a column (or row for horizontal table) at a specific position. So next, we will insert the dimension object
City into the table.

3. Click the Resource View button on the View toolbar, then resources of the report cube the table uses will be shown in
the panel.

4. Drag City in the Customers category from the Resource View panel to the boundary between the first column (Product Type)
and the second column (Country) in the table until a blue line appears.
The report result will be regenerated.

Note: When you add a column to a table, if the width of the table exceeds the defined page size, you will be prompted
whether to allow JReport to adjust the page size automatically so as to place the column. Click Yes in the message box to
have the page size adjusted, or No to make the columns in the table compressed. Also, If you do not want to display the
message in future, check Don't prompt the message again in the message box, or uncheck Always Prompt Whether
to Adjust Page Size Automatically in the Profile > Configure DHTML Profile > Properties > Default Properties tab. If
you choose not to show the message box again, when the table width exceeds the defined page size, JReport will always
adjust the page size automatically.
Next, we want to show the total information and remove the product name information. This can be done with a single drag-and-
drop.
5. Drag the detail information object Total in the Orders Detail category to the header Product Name until the label Product Name
is highlighted in a blue background.

Now, the total value for each record will be generated.


As a table column can contain more than one field, next, we will add the measure object Total Sales to the Total column.
6. Drag Total Sales from the Resource View panel to any value in the Total column.

The report result will be regenerated.

Here 182,298.76 is the sum of all total values. In this way, the title for the added field will not be automatically created.

At last, we want to change the order of the Total and Discount columns in the table.
7. Drag the label Total to the right of the Discount column, when a blue line appears along the right boundary of the Discount
column, release the mouse button.
We can see that order of the columns changes.

Notes:
● A JReport Server Live license is required in order to use this feature. If you do not have a Live license please contact your
Jinfonet Software account manager to obtain a license.

● When you are using a report cube, the records will be fetched based on the query which contains the report cube in JReport
Designer; while for a business cube, there is no predefined query and you will fetch records from the data source using dynamic
SQL.

● To use the Resource View panel so as to add cube elements to the report, you should make sure that this ad hoc feature is
enabled in the specified DHTML feature profile. This setting can only be made by administrators.
Using dynamic resources
When you drag cube elements from the Resource View panel to analyze data of a report, sometimes you may find that the cube elements that
have been predefined in the business/report cube cannot meet your requirements, in which case, you can create some dynamic resources and use
them in the report to get the desired data. Then when you save the report set which contains the report, the dynamic resources will be saved
along with the report as its resources. Dynamic resources in JReport Viewer include formulas and measures.

Creating and using dynamic formulas


You should have some knowledge of the formula syntax before you can successfully compose a formula with no errors. To learn the formula
syntax, refer to Formula syntax in the JReport Designer User's Guide.
To create a dynamic formula:
1. In the Resource View panel, expand the Dynamic Resources > Formulas node, then click <Add Formula…> to display the Formula
Editor window.

2. Enter a name for the formula in Formula Name text field.

3. Compose the formula by selecting the required fields, functions and operators from the Fields, Functions and Operators panels. You can also
write the formula by yourself in the editing panel.
For details about the functions and operators, refer to Built-in functions and Operators in the JReport Designer User's Guide.
4. Click the Check button to check whether or not the syntax of your formula is correct.

5. When done, click the OK button to create the formula.

Once a dynamic formula has been created, you can then drag it from the Resource View panel to the desired position in the report as a detail
information object for data analyzing. The formulas can also be used to control object properties if you are an advanced user and provided that
the Use Dynamic Formula in Property is checked on the Report menu.
Also, if you want to further edit an existing formula or remove any formula that is not required, right-click the formula and then click the
corresponding command on the shortcut menu. However, if the formula has been used in the report or referenced by another formula, it cannot
be deleted.

Creating and using dynamic measure objects


In JReport Viewer, you can also create dynamic measure objects by mapping them to the available resources which include dimension objects,
detail information objects in the current business/report cube and the dynamic formulas that have been created in the report.
To create a dynamic measure object:
1. In the Resource View panel, expand the Dynamic Resources > Measures node, then click <Add Measure…>. The Add Measure dialog is
then displayed.

2. In the Measure Name text field, specify the display name of the measure.

3. Click the chooser button next to the Mapping Name text field to specify the mapping name of the field to which the measure object is
mapped.

4. From the Aggregate drop-down list, specify the aggregate function for the measure object.

5. When done, click OK to create the measure object.

You can also create a dynamic measure object on a dynamic formula. To do this:
1. In the Resource View panel, right-click the formula in the Dynamic Resources > Formulas node, then select Create Measure from the
shortcut menu.

2. In the Add Measure dialog, specify the display name of the measure object and the aggregate function as required.

3. When done, click OK.

Once a dynamic measure object has been created, you can then drag it from the Resource View panel to the desired position in the report so as
the get the desired data. And if you want to edit any dynamic measure object or delete it, right-click the measure object and click Edit or Delete
on the shortcut menu (a measure object that has been used in the report cannot be deleted).
Notes:
● A JReport Server Live license is required in order to use this feature. If you do not have a Live license please contact your Jinfonet Software
account manager to obtain a license.

● Currently, global variables and user defined formula (UDF) functions are not supported in dynamic formulas, and you can only save a dynamic
formula with no errors into a report.

● When formulas reference display names or mapping names, the names should not contain any of below characters if the names are not quoted
by double-quotation marks "":
"~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "-", "+", "=", "{", "}", "[", "]", "|", "\\", ":", ";", "\", " ' ", "<", ",", ">", ".", "?", "/"
Examples:
❍ Expression @Customer#; will cause a syntax error. But @"Customer#" is ok.

❍ If a field has the display name Category.Measure, when adding it to a formula, quote it as "Category.Measure" or "Category"."Measure".

● Dynamic resources are report level resources, which means they are only available to the report for which they are created.

● Now in JReport, the display names of objects in a category in a business/report cube cannot be duplicated. When you choose to create a
dynamic formula/measure object on an object which was created in a previous version and it has the same display name as another object, you
will be prompted with a message asking you to give a new name for the object in JReport Designer first.
Drilling through the report data
In a DHTML report, you can choose to show certain groups of records according to your requirements,
and switch among the groups to see the data you want. Moreover, you can define some methods to
view specific data.
This section presents three kinds of drilling in JReport Viewer. They are:
● Automatic drilling

● User defined drilling

● Going
Automatic drilling
Automatic drilling enables you to switch from the current dimension to another dimension by using
system-defined commands on the shortcut menu, and it is divided into four kinds:
● Drill-to
It enables you to obtain a different view of data by switching among dimensions.

● Drill-to-by-value
It enables you to filter data based on a drill-to action so as to obtain a more detailed view of the data.

● Drill-down
It enables you to drill data to lower dimensions according to predefined hierarchies.

● Drill-up
It enables you to drill data to higher dimensions according to predefined hierarchies.

Drilling actions are performed on crosstabs, and grouped tables and banded objects, whose data are
based on business/report cube or if on query, data fields of which can be converted to corresponding
cube elements (see the note in Analytic reporting for details). After drilling, the new component can be
analyzed in the same way as the original one.
Assume you have created a crosstab report on the report cube WorldWideSalesRC in Data Source 1 of
the SampleReports catalog showing product sales information with Region as the column field, Sales
Year as the row field, and Total Sales as the summary field, and applied the default style to the
crosstab. The crosstab shows as follows:

We will now take the crosstab as an instance to illustrate the automatic drilling functions.

Drill-to
1. Right-click any value of Region, APAC for example, and choose Drill To from the shortcut menu.
The list of dimensions available for Drill To will appear on the submenu.
2. Click Product Type on the submenu, then in the regenerated result, we can see that Sales Year
remains the dimension for rows and Product Type becomes the dimension for columns.

3. Repeat Steps 1 and 2 to drill the data to other dimensions. Row field can also be drilled freely.

4. To go back to the original report, right-click any value of Product Type, choose Drill To > Region
from the shortcut menu.

Drill-to-by-value
1. Go back to the original report in the above example.

2. Right-click the value APAC of the Region dimension, and point to Drill to By Value on the
shortcut menu. A submenu for the command is displayed, which lists the same items as those of
Drill To.

3. Click Product Type too and the result will be regenerated.

We can see that the result is different from that of drill-to. This is because that, for the drill-to-by-
value action, the dimension of columns changes to Product Type by the Region value APAC. That
is, on the basis of the drill-to action, a filtering action where Region = APAC is further performed,
and thus the result of drill-to-by-value is generated.
In addition, when a drill-to-by-value action is performed, the Drill Filter panel will be displayed on
the left of the JReport Viewer window, which shows the dimension and the value the filter is based
on.

4. To go back to the original report, first delete the drill filter in the Drill Filter panel by clicking X
next to the dimension name, then right-click any value of Region and click Drill To > Region
from the shortcut menu.

Drill-down
Drill-down actions are based on predefined business/report cube hierarchies. The report cube
WorldWideSalesRC contains a hierarchy Geography, which allows you to drill a dimension
(corresponding to a high level) down to the one-level-lower dimension.
1. Go back to the original report in the above example, right-click the value APAC, on the shortcut
menu, point to Drill Down, and we can see that Territory is listed as the submenu item.

2. Click Territory to see the result. It displays the data about territories in the Asia Pacific region.
3. The one-level-lower dimension for Territory defined in the hierarchy is Country. Now click Asia
directly and JReport will also drill it down to Country.

After these two drill-down actions, we can see two filters are added in the Drill Filter panel, Region
= APAC and Territory = Asia.

This is because, when you perform a drill-down action, a filter will be created based on the value
you click on. In this example, we first click on the APAC region, so JReport drills this region one-
level down to display territories in APAC, and thus the filter Region = APAC is created. If you want
all data in the one-level-lower dimension to be displayed when you drill down a dimension, you
can remove the corresponding filter from the Drill Filter panel.

Drill-up
Drill-up actions allow you to drill a dimension (corresponding to a low level) up to the one-level-higher
dimension.
1. Based on the report result after drill-down, right-click any value of Country, China for example, on
the shortcut menu, point to Drill Up, and we can see that Territory is listed as the submenu item.
2. Click Territory to see the result. The dimension is drilled one level up. Territory is now the
dimension for columns.

3. The one-level-higher dimension for Territory defined in the hierarchy is Region. Now click the drill-
up arrow of any territory directly and JReport will drill it up to Region.

Notes:
● A JReport Server Live license is required in order to use this feature. If you do not have a Live
license please contact your Jinfonet Software account manager to obtain a license.

● For banded object and table, you can right-click its group header/footer to show the shortcut menu
so as to use the automatic drilling functions, you can also right-click field values in the group header/
footer to achieve this.

● For dimension objects that not used as group fields in a banded object or table, automatic drilling
doesn't take effect.

● JReport allows you to define display names for items to be shown on the drill-related menu items.
For detailed information, see Customizing the field display names in the JReport Designer User's
Guide.
User defined drilling
Besides automatic drilling, JReport provides you with custom drilling functions including support for
linking to another report and for linking to a detail report, making the analysis of a report more diverse
and useful.

Linking to another report


A link to another report can be bound to a field, a label, an image, or a map area in JReport Designer.
This is useful for viewing some information related to the current report, especially with viewing a
report for comparison.
To use a link in JReport Viewer:
1. Develop a report set in which a report contains an object which is linked to another report in
JReport Designer.

2. Publish the report set to JReport Server.

3. Run the report set in DHTML format with JReport Viewer.

4. Click the trigger object in the report, or right-click the object and then select Link Report from
the shortcut menu.

5. The linked report will then be shown.

Linking to a detail report


In most cases, your reports will be related to each other, instead of being isolated. Each report may
have a particular emphasis on one or more aspects. In some circumstances, you may want to set up
certain relationships among your reports so that you can browse from one report to another through
the relationship "channels" that you create.
Such an inter-report relationship network can be achieved by setting up "Anchor" and "Filter"
conditions between two reports. You can use one report to hold comprehensive report data, and
another to show detailed information on a specific topic.
JReport reports can be joined together to compose a master/detail report group. Normally, a master
report holds more comprehensive data, while detail reports hold related detail information. A detail
report can be the master report of another report. In this way, by setting up more and more pairs of
master/detail reports, many reports can be joined together, and a report chain is formed.
To use master/detail reports in JReport Viewer:
1. Develop the report sets with master/detail relationship in JReport Designer.

2. Publish the report sets to JReport Server.

3. Run the report set which contains the master report in DHTML format on JReport Server.

4. Click the trigger object in the master report, or right-click the object and then select Detail
Report from the shortcut menu.
5. You may be prompted to provide encoding and DB security information before the report result is
produced. Click OK if you want to run a detail report using the same encoding and DB security
settings as that of the master report.

6. The detail report will show only the records in conformity to the anchor and filter conditions.

Notes:
● In JReport Designer, you may find that the user defined drilling feature can provide more functions,
such as assigning values to parameters of the link report or detail report automatically and passing
style information to the link report. For detailed information, see Linking reports in the JReport
Designer User's Guide.

● To make the detail report show only the records related to a trigger field value in the master report,
you should specify the Target Frame option as Same Frame when you set up the master/detail
relationship in JReport Designer. If you select Server Setting, you should further make sure that the
Pop Up New Window for Links option has not been checked in the Profile > Configure DHTML Profile
> Properties > Default tab. Otherwise, the detail report will be opened in a new web browser window
with no relationship to the master report.

● A "link path", which tracks the linking (user defined drilling) actions, will be displayed in the Go To
drop-down list on the navigation bar after you have drilled to the link report or detail report if it is
opened in the current window. Clicking an item in the list will switch to the corresponding report.
Going
In a DHTML report, you can select to show certain groups of records in a banded object according to your requirements. You can also
switch among the groups to see the data you want. This action is called going, which divides into go-to, go-up, go-down, and go-to-
detail, as indicated in the diagram.

● Go-to
The go-to action allows you to switch the data presented in a banded object from any group to any other group.

● Go-up
Go-up means to jump up one group level to show the records of a particular group.

● Go-down
Go-down means to jump down one group level to show the records of a particular group.

● Go-to-detail
Go-to-detail allows you to concentrate on the details of a group.

Going actions are available only for banded objects that contain groups, and fields in which have not been converted to cube elements
of a report cube. Going actions do not apply to banded objects created in JReport Viewer. After a going action has been performed, the
data presented in the banded object will be re-loaded from the data buffer, showing only the records in the selected group, and the new
report created by going can also be viewed, printed, and exported to other format in the same way as the original report. In addition, a
"going path", which tracks the going action, will be displayed in the Go To drop-down list on the navigation bar, with which you can
easily return to the original report.
The following describes the use of the going actions based on Banded_Link.cls in the SampleReports folder of Public Reports, which
contains a banded report.

Go-to
1. Run Banded_Link.cls.
2. Point to the region APAC, right-click and select Go To > APAC > Vietnam from the shortcut menu.

Then only the data about Vietnam is displayed.


3. To return to the original status, right-click any value and then click Go To > ROOT on the shortcut menu; or from the Go To drop-
down list on the navigation bar, select Product Sales by Country.

You may notice that the result is not dependent on what you right-clicked, in other words, you can right-click any field value in the
banded object or even the blank part of a group header/footer panel or detail panel, in order to perform a go-to action.

Go-up
For a go-up action, you need to right-click a group header/footer panel or any object in the panel, at the same time, you should make
sure that this group level is lower than some other group levels.
1. Undo the go-up action in the above example.

2. Point to any country, for example China, right-click and select Go Up > LATAM from the shortcut menu.

Then only the data about LATAM is displayed.

At Step 2, you may find that items listed on the Go Up submenu are regions of the Region group level which is one level higher than the
current group level - Country. That is, the go-up action allows you to focus your attention on the groups of a higher level than what you
right-click.

Go-down
For a go-down action, you need to right-click a group header/footer panel or any object in the panel, at the same time, you should
make sure that this group level is higher than some other group levels.
1. Undo the go-up action in the above example.

2. Point to APAC, right-click and select Go Down > Singapore from the shortcut menu.

Then data about Singapore is displayed.


At Step 2, you may find that items listed on the Go Down submenu are countries of the Region group level which is one level higher
than the group level of Country, and only countries in the Asia Pacific (APAC) region are displayed. That is, the go-down action allows
you to focus your attention on the groups of a lower level than what you right-click, and only those lower-level groups which are related
with the higher-level group value you right-click will be concerned.

Go-to-detail
If a banded object contains group information, then a field, label, image or map in a group header/footer panel of the banded object
can be used to obtain information of that group, and a chart in a banded object also has the similar function. The go-to-detail action
should be predefined at report design time. You can refer to Obtaining detailed information from a banded object in the JReport
Designer User's Guide for more information.
1. Undo the go-down action in the above example.

2. Point to LATAM, right-click and select Go to Detail from the shortcut menu. Then only the data about this region is displayed.

Note: A JReport Server Live license is required in order to use this feature. If you do not have a Live license please contact your
Jinfonet Software account manager to obtain a license.
Manipulating data components
You can manipulate data components, which refer to crosstabs, tables, banded objects and charts, in
JReport Viewer as shown below. However, most of the manipulations require selecting the component
first. To select a component, click anywhere in the component, when the icon appears at its upper
left corner, click the icon.
Note: When manipulating data components, a JReport Server Live license is required in order to use
the features involving report cube/business cube or changes of report template. If you do not have a
Live license please contact your Jinfonet Software account manager to obtain a license.

Setting the number of records retrieved by data components


You can set the number of records that can be retrieved by all data components in all reports of a
report set. To do this, select a value to your liking (All or first 50 to name a few) from the Max Records

combo box on the Analysis toolbar. You can also directly input a positive
integer here and press Enter to retrieve the corresponding records. Alternatively, you can click Menu
> Report > Max Records to show the Max Records dialog, and then achieve the same goal. If you are
making a lot of changes to the report, it may be faster to limit the number of records to 1 page while
you make the changes then change it back to All to view the final result.

Manipulating a crosstab
● Changing the dimension index in a crosstab
The dimension index in a crosstab can be modified, namely, you can move a dimension to a higher or
lower level. This operation can be performed on crosstab's containing two or more dimensions. To do
this, you can simply drag a dimension object (row/column header) to the required destination till a
blue line appears. You can also drag a column header to a row level and vice versa.

● Rotating a crosstab
Columns and rows in a crosstab can be exchanged. This operation is called rotating a crosstab.
To rotate a crosstab, first select it, and then do one of the following:
❍ Click Menu > Report > Rotate Crosstab.

❍ Click the Rotate button on the Analysis toolbar.

❍ Right-click the icon of the crosstab and select Rotate from the shortcut menu.

● Expanding/Collapsing a crosstab
For a crosstab, if it has more than one row/column group level, you can specify whether or not to
enable the crosstab to be expanded in JReport Viewer, and set the default expanding/collapsing state
of groups in outer levels. For details, see Expanding/Collapsing a crosstab in the JReport Designer
User's Guide.

● Adjusting the width of crosstab fields according to the contents


When the contents in the field of a crosstab need more space to completely display, you can adjust
the width of the field according to its contents. To achieve it, first select the field, then right-click on
it and select Auto Fit from the shortcut menu.

Manipulating a table
● Adjusting order of columns in a table
The order of columns in a table can be easily adjusted. To do this, drag a column header to the left
or right boundary of another column header, when a blue line appears along the column boundary,
release the mouse button, and you will see the order change.
The above description is for a vertical table. With regard to a horizontal table, you can do the same
actions on its row headers.

● Adjusting grouping order in a table


A table may contain several group levels. The order of the group levels can also be adjusted. To do
this, drag a group field value to the required position until a blue line appears.

● Hiding/Deleting table columns


A table column (for a horizontal table, the "column" corresponds to a field row) can be hidden or
removed. To do this, select the cell of the column in the table header and right-click, then select
Hide Column or Remove Column from the shortcut menu, and the column will be hidden or
removed from the table.

● Showing table columns


You can specify which columns will be shown in a table. To do this, right-click the icon of the
table, then on the shortcut menu, check the names of the columns you want to show from the Show
Column sub menu.

● Adjusting the width of table columns according to contents


When the contents in cells of a table column need more space to completely display, you can adjust
the width of the table column according to the contents. To do this, right-click the cell of the column
in the table header, then select Auto Fit from the shortcut menu.

● Changing group direction


You can make the group headers that are placed horizontally in a table to be displayed vertically. To
do this, right-click the group header row and select Vertical to Detail from the shortcut menu. In
addition, if the first column of a table is group column, you can specify to place the group column
horizontally in a table. To do this, right-click the cell of the group column in the table header, and
select Horizontal to Detail from the shortcut menu.

● Rotating a table
You can rotate a table to switch its appearance between the horizontal and vertical layout modes by
doing one of the following:
❍ Click Menu> Report > Rotate Table.

❍ Click the Rotate button on the Analysis toolbar.

❍ Right-click the icon of the table and select Rotate from the shortcut menu.

● Inserting table columns


You can insert a new column in a table and it could be a common column, detail column, summary
column, or group column.
❍ To insert a common column into a table:
1. Right-click any cell in the table header, or right-click the icon of the table.

2. On the shortcut menu, click Insert > Common Column.

❍ To insert a detail or summary column into a table:

1. Right-click any cell in the table header, or right-click the icon of the table, then select
Insert > Detail Column/Summary Column from the shortcut menu.

2. In the corresponding insert column dialog, specify the resource you want to use for the new
column, then click OK.

❍ To insert a group column into a table:

1. Right-click any cell in the table header, or right-click the icon of the table, then select
Insert > Group Column from the shortcut menu.

2. In the Insert Group Column dialog, select the dimension object you want to use for the new

group column from the Resources panel and click to add it as the group by field, then
specify the sorting direction of the group in the Sort column.

3. Specify the positions of the group by fields: Group Above, Group Left Above, or Group Left.

4. Repeat the above steps to add more groups if required.

5. Click OK to insert the columns.


The next time when you open the Insert Group Column dialog to add more group columns, all
the added group by fields will be listed in the dialog. You can choose to remove or edit them if
required.

Note: If you right-click any cell in the table header and use its shortcut menu to insert a
common, detail or summary column, the column will be inserted before the column in which the
cell you click on is, however, if you use the table shortcut menu to insert the column,
❍ If it is a common column, the column will be inserted as the last column in the table.

❍ If it is a detail/summary column, the column will be inserted after the last detail/summary
column, or as the last column in the table when there is no detail/summary column.

● Converting table columns


You can convert a group column into a detail column, and vice versa.
❍ To convert a group column into a detail column, select the cell of the group column in the table
header, right-click and select Convert to Detail from the shortcut menu, then the conversion is
done.

❍ To convert a detail column into a group column:


1. Select the cell of the detail column you want to convert in the table header, right-click and
select Convert to Group from the shortcut menu.

2. In the Select Group Position dialog, specify the position for the newly converted group by field.

3. Click OK to save the changes.

● Aggregating on a detail column


You can summarize the data in a detail column if required. To do this:
1. Select the cell of the detail column in the table header, right-click it and select Aggregate On
from the shortcut menu.

2. In the Aggregate On dialog, specify a function from the Function drop-down list to summarize
the field in the detail column.

3. When done, click OK.


■ If the table has groups, the aggregation will be created for each group in every group level
and the whole table at the same time.

■ If the table has no groups, the aggregation will be created based on the whole table.

When you finish aggregating on a detail column, you will find a dynamic measure object is created
which is given a default name Function_DetailFieldName in the Dynamic Resource > Measures list in
the Resources View panel and you can use it again in the current report if required.

Note: If a table is created in JReport Designer, you can add, convert columns in the table, or
aggregate on its detail columns in JReport Viewer only when data fields used by the table can be
converted to corresponding cube elements. See the note in Analytic reporting for details.

Manipulating a banded object


● Hiding/Showing a panel in a banded object
A panel in a banded object can be hidden or shown. To do this, right-click the icon of the banded
object, then on the shortcut menu, click the item which indicates the panel name from the Show sub
menu. For a panel which is shown, the item is with a check mark, and vice versa. This operation is
also applicable for hiding/showing a row in a table.

● Hiding/Showing DBFields and labels in a banded object


The DBFields and their corresponding labels in a banded object can be hidden or shown. To do this,
right-click the icon of the banded object, then on the shortcut menu, click the fields and labels you
want to show from the Show Field sub menu. For a field or label that is shown, it will be marked with
a check mark, and vise verse.

● Expanding/Collapsing a group panel in a banded object


Group panels in a banded object can also be expanded or collapsed. For details, see Managing the
data of a banded object in the JReport Designer User's Guide.

Manipulating a chart
● Modifying the definition of a chart
You can modify the definition of a chart, including the chart type, data display, and style. To do this:

1. Right-click the icon of the chart or any part of the chart other than the legend and label to
show a shortcut menu, and then select Format Chart from the shortcut menu to display the
Chart Definition dialog.

Note: In the event that the chart is built in JReport Designer, the Format Chart command
will be available only when JReport Viewer can convert data fields used by the chart to
corresponding cube elements. See the note in Analytic reporting for details.

● In the Chart Type tab of the Chart Definition dialog, specify the type for the chart.

● In the Display tab, change the dimension and measure object used by the chart.
● In the Style tab, modify the style for the chart as required. If there is only one style available, this
style will be applied to the chart by default and the Style tab will be hidden from the dialog.

● Upon finishing, click OK to apply the modifications.

For details about how to modify the chart definition with the Chart Definition dialog, see
Creating a chart report.

In addition, if you only want to change the chart type, no matter whether the chart is originally
created in JReport Designer or JReport Viewer, you can achieve it by doing one of the following:
❍ Right-click the chart and on the shortcut menu, select the required type from the Chart Type
submenu, which lists all the chart types and subtypes (the current one and the inapplicable
subtypes are grayed out).

❍ Select the chart, click the Chat Type button on the Analysis toolbar, and then select a
suitable subtype from the drop-down menu.

● Formatting chart elements


The elements (platform, paper, legend and label) in a chart can be formatted to suit your
requirement.

❍ To format the platform/paper of a chart, right-click the icon or any part of the chart except for
the legend and label and select Format Platform/Format Paper from the shortcut menu. In the
displayed format dialog, specify the settings as required. For details about the settings, refer to
Format Platform dialog and Format Paper dialog.

❍ To format the legend/label of a chart, right-click the legend/label and select Format Legend/
Format Label from the shortcut menu. In the displayed format dialog, set the properties
according to your requirement. For details about the properties, see Format Legend dialog and
Format Label dialog.
Adding conditional formats to fields
You can add some conditional formats to a field, which refer to the DBField, parameter field, formula field,
summary field, and the special field Page Number or User Name, then when the specified condition is fulfilled, the
defined format will be applied to the field values for highlighting.
To add conditional formats to a field,
1. Right-click the field and select Conditional Formatting from the shortcut menu to access the Conditional
Formatting dialog.

2. Click the button to open the Edit Conditions dialog to define the condition as required.
There are the basic and advanced modes of the dialog for you to define either simple or complex condition
expressions. See Filtering report data for details about how to define a condition.

3. When done, click OK to save the condition.


The newly added condition will then be displayed and highlighted in the Condition box in the Conditional
Formatting dialog.

4. In the Format box, set the format which will be applied to values of the field when the specified condition is
fulfilled, for example, the font face, font size, font color, etc.

5. Repeat the above steps to add more conditions and define the format for each condition as required.

To edit a condition, select the condition in the Condition box, then click . In the Edit Conditions dialog,
edit the condition expressions as required.

To remove a condition and the corresponding format, select the condition in the Condition box and click .
To adjust the priority of a condition, select the condition in the Condition box and then click or .

6. Click OK to apply the conditional formats to the field.

See also Conditional Formatting dialog and Edit Conditions dialog for details about options in the dialogs.
Converting between components
Converting between components enables you to view and analyze data from different aspects with
different focuses. In JReport Viewer, you can convert a crosstab into a chart and vice versa, however, if
a crosstab/chart is designed in JReport Designer, to enable the conversion, you need to make sure that
data objects used by the crosstab/chart can be converted to corresponding cube elements (see the
note in Analytic reporting for details).

Note: A JReport Server Live license is required in order to use this feature. If you do not have a Live
license please contact your Jinfonet Software account manager to obtain a license.

Converting a crosstab into a chart


To convert a crosstab into a chart:

1. Click anywhere in the crosstab, when the icon appears at its upper left corner, click the icon to
select the crosstab, then do any of following:

❍ Right-click the icon and select To Chart from the shortcut menu.

❍ Click Menu > Report > To Chart.

2. The Convert Data Fields dialog may appear for your confirmation on converting data fields of the
crosstab to cube elements of a business/report cube. Click OK to confirm, and the To Chart dialog
will be displayed.

3. In the Chart Type tab, specify a suitable type for the chart. With a certain type specified, you can
further define the chart as a combo chart by clicking <Add Combo Type> in the Chart Type
Groups box.

4. In the Display tab, the Resources box lists all the cube elements used in the selected crosstab
including dimension and measure objects. The chart can only be defined based on the cube
elements listed. Add a dimension object from the Resources box to the Category box, and so
to the Series box, and measure objects to the Show Values box respectively.

5. In the Style tab, set the style for the chart as required.
If the crosstab is in a table or banded object, by default, the chart converted from the crosstab will
take on the style of the table or banded object. If you want to apply another style to the chart,
uncheck the Inherit Style option and choose the desired style in the Style box. However, when
there is only one style available, this style will be applied to the chart by default and the Style tab
will be hidden from the dialog.

6. Click the OK button to finish the conversion.

Converting a chart into a crosstab


To convert a chart into a crosstab:

1. Click anywhere in the chart, when the icon appears at its upper left corner, click the icon to
select the chart, then do any of following:

❍ Right-click the icon or any part of the chart except for the legend and label, then click To
Crosstab on the shortcut menu.

❍ Click Menu > Report > To Crosstab.

2. The Convert Data Fields dialog may appear for your confirmation on converting data fields of the
chart to cube elements of a business/report cube. Click OK to confirm, and the To Crosstab dialog
will be displayed.

3. In the Display tab, select a dimension object in the Resources box and click to add it as a

group field to the Columns or Rows box; select a measure object and click to add it as an
aggregate field to the Aggregates box. Repeat these to add more aggregate fields.
In the Display Name column, you can edit the display name of a group field or aggregate field,
and the Sort columns allow you to specify a sorting manner on a group field.

If you want to remove any group/aggregate field, select it and click .

To adjust the order of group/aggregate fields, select a group/aggregate field and click or .

4. In the Style tab, apply a style to the crosstab as required.


If the chart is in a table or banded object, by default, the crosstab converted from the chart will
take on the style of the table or banded object. If you want to apply another style to the crosstab,
uncheck the Inherit Style option and choose the desired style in the Style box. However, when
there is only one style available, this style will be applied to the crosstab by default and the Style
tab will be hidden from the dialog.

5. Click OK to finish the conversion.


Navigating through the report data
You can use the TOC Browser to navigate through a report. To show the TOC Browser, click Menu >
View > TOC Browser.
In the TOC Browser, expand the Report node, select a component or a node with the group value that
you want to browse to. The page that contains the component or the matching data will then be shown.
The table of contents on the TOC Browser is organized into a tree structure. The root node represents
the report that you are currently viewing. The component names indicate components in the report.
The group values show hierarchical groups.
TOC in JReport Designer
Just like a report, the format of the TOC is designed in JReport Designer. In the root node in the Report
Inspector of JReport Designer, there is an object named TOC. You can modify its properties to
customize your TOC style.
TOC Anchor
Besides the groups, you can also add your own nodes to the TOC Browser. Most components in JReport
Designer hold a property called TOC Anchor which holds a Boolean value. If the TOC Anchor property
value is true, a node for this object will then be added to the TOC tree. When you click such a node,
JReport Viewer will turn to the page that contains this component. Some objects, such as group panels,
summaries, subreports, and cube elements hold a true value for the TOC Anchor property by default,
which means that by default they will appear in the TOC Browser. Moreover, you can type a string or
even a formula as the Anchor Display Value property for a component holding a true TOC Anchor
property, so that your input for that object can be displayed in the TOC Browser instead of the default
value.
Applying a style
A style can be applied to a report in order to change its appearance and characteristics. You can create
and set up your own styles in JReport Designer. When you publish your report sets to JReport Server,
you can include these custom styles with the published reports. When you run the report set, the style
feature will be enabled and you can select a style to apply to the report. After applying a style, the
banded objects, crosstabs, charts, and tables in the report will take a uniform appearance.
By default, the style feature is enabled in JReport Viewer. In order to apply a style to a report, click
Menu > Report > Style and select the required one from the submenu, or select the required style

from the style drop-down list on the toolbar. You can also right-click a
table, crosstab, chart, or banded object in the report and select Apply Style from the shortcut menu to
select the required style in the Apply Style dialog. However, if there is only one style available to the
report, this style will be applied to the report by default, in which case, you will find that all these style
related commands are hidden.
Reference: See also the chapter Styles in the JReport Designer User's Guide for more information
about how to work with styles at report design time.
Working with reports via URL
Besides working on interfaces, most of the JReport Viewer operations such as filter, sort, search, save and so on, can also
be accomplished via URL. When using URLs to access JReport Viewer, you should follow the specifications described in this
section.
The URL in DHTML is:
http://localhost:8888/dhtml?sessionid=XXXXXXX&rptsetid=XXXXXXX&rptname=XXXXXXX&op=...

● http
The web service protocol.

● localhost
The host address.

● 8888
The port.

● dhtml?sessionid=XXXXXXX&rptsetid=XXXXXXX&rptname=XXXXXXX&
The path.

● ?
URL separator.

● =
URL separator.

● &
URL separator.

● op
The key of operation in DHTML.

There are some methods in the file API.js located in <intall_root>\public_html\javascript\dhtml. These methods are
the tools you can use to generate URLs. The result of each of these functions will be a URL.

Parameter
Key Value
Description
Download Report
Operation op 51
code
Export ty 2/3/4/5/6/7 means PDF/PostScript/RTF/TEXT/EXCEL/XML respectively.
report type
Example op=51&ty=2
Note ● The order begins with 2.

● A file of HTML type cannot be downloaded.

Prototype function user_downloadReport(type)


Exit
Prototype function user_exit (popwin)
Navigate Page
Operation op 24
code
Page number pn 1...n
Example op=24&pn=2
Note The page number begins with 1 and is less than total page number.
Prototype function user_firstPage()
function user_lastPage()
function user_nextPage()
function user_prevPage()
One Step Filter
Operation op 25
code
The column col Mapping the name of a column in JReport.
name
Operator of operator eq/gt/geq/lt/leq/neq, means "equal to/greater than or equal to/greater than/less than/less than or equal to/unequal
filter to" respectively.
condition
The column value
value
Logic of logic AND/OR/END, means "and/or/end" respectively.
filter
condition
Instance comp component instance name
name of the
column
Example op=25&col=CusID&operator=eq&value=1&logic=OR&col=CusName&operator=0&value=ZhangKe&logic=2&comp=convert_sectionObject
Note The value is case-sensitive.
Prototype function user_oneStepfilter(columns, operators, values, logics, instanceName)
One Step Search
Operation op 128
code
The column column Mapping the name of a column in JReport.
name
The column value the value to search for
value
Whether or isContent true/false
not to
search
content only
Whether or isMatchCase true/false
not to match
case
The search isUp true/false
direction
Whether or isWholeWord true/false
not to match
whole word
Example op=128&column=CusID&value=1&isContent=true&isMatchCase=false&isUp=false&isWholeWord=false
Prototype function user_oneStepSearch(value, isContent, colName, isUp, matchcase, isWholeWord)
One Step Sort
Operation op 12
code
The column col Mapping the name of a column in JReport.
name
The column ord true/false
sort order
Instance comp component instance name
name of the
column
Example op=12&col=CusID&ord=true&col=CusName&ord=false&comp=convert_sectionObject
Note The value is case-sensitive.
Prototype function user_oneStepSort(columns, sorts, instanceName)
Open Report
JSP page /dhtmljsp/dhtml.jsp
Action jrs.cmd jrs.try_vw
Report name jrs.report path/name
Catalog path jrs.catalog
Result type jrs.result_type int
Example http://localhost:8888/dhtmljsp/dhtml.jsp?jrs.report=%2fSampleReports%2fEmployeeInformation.cls
=&jrs.cmdjrs.try_vw&jrs.catalog=%2fSampleReports%2fSampleReports.cat
Note ● The path delimiter is "/". If you encounter problems, you can replace it with "%2f".

● The version number can be none, as with the example.

Open RSD File


JSP page /dhtmljsp/dhtml.jsp
Result path jrs.path path/name
Result name jrs.result path/name
Result jrs.rst_version int
version
number
Example http://localhost:8888/dhtmljsp/dhtml.jsp?jrs.resource_path=/USERFOLDERPATH/admin/test&jrs.file=1980996366.rsd
Note ● The path delimiter is "/". If you encounter problems, you can replace it with "%2f".

● The version number cannot be none.

Redo
Operation op 85
code
Example op=85
Prototype function user_redo()
Refresh
Operation op 83
code
Example op=83
Prototype function user_refresh()
Reset
Operation op 76
code
Example op=76
Prototype function user_reset()
Save Report
Operation op 82
code
Example op=82
Prototype function user_saveRpt()
Search Next
Operation op 34
code
Example op=34
Show Export to Dialog
Prototype function user_showSaveResultDialog()
Show Help
Dialog ID HELP_OP 182
Example http://localhost:8888/dhtmljsp/help.jsp?sessionid=XXXXXXX&rptsetid=XXXXXXX&rptname=XXXXXXX&HELP_OP=XXX
Note The URL gets the body of a window, you should put it as xxx in
window.open("xxx", ..)
Prototype function user_showHelp(helpId)
Show Panel or Dialog
Prototype function user_showUserPanel()
function user_showTOC()
function user_showDHTMLView()
function user_showToolbox()
function user_showSortDialog()
function user_showFilterDialog()
function user_showNewRptDialog()
function user_showOpenRptDialog()
function user_showSaveAsDialog()
function user_showPageSetupDialog()
function user_showSaveResultDialog()
function user_showPageSetupDialog()
function user_showPrintDialog()
Undo
Operation op 84
code
Example op=84
Prototype function user_undo()
Zoom
Operation op 50
code
Proportion val 0~400
Example op=50&val=250
Note val must be an integer between 0 and 400
Prototype function user_zoom(value)
Tuning JReport Viewer performance
JReport provides you with methods for adjusting DHTML performance. You can limit the number of
DHTML reports open simultaneously by setting the DHTML preferences on the JReport Administration
page. Furthermore, you can modify a property file to control the Action Task Manager, which can
improve DHTML service performance.

Limiting the number of simultaneously open reports


Whether or not an open DHTML report interacts with the server, it holds many resources. As a result,
opening many reports will decrease server performance. Thus, JReport allows the administrators to
specify the maximum number of DHTML reports that can be open at the same time so as to prevent
large numbers of DHTML reports from being open simultaneously and to improve the server
performance.
To set the maximum number of DHTML reports that can be open at the same time:
1. On the JReport Administration page, click Profile on the system toolbar and then select
Configure DHTML Profile from the drop-down menu.

2. Click the Properties > Advanced tab.

3. Check the Maximum Number of Open Reports option and type the number to your
requirement in the text box.

4. Click OK upon finishing.

If the number of open reports exceeds the limit, an error page will be displayed prompting you to close
one before opening a new one.
Note: The Maximum Number of Open Reports option works together with the maximum number of
concurrent reports allowed by your product license. Of these two values, whichever is smaller will be
used as the real maximum number of open reports allowed. For example, if the value of the Maximum
Number of Open Reports option is 10, and the number that the license allows is 20, 10 will be used as
the maximum number of DHTML reports that can be opened simultaneously; however, 10 non-DHTML
reports may use the remaining licenses.

Action Task Manager


Some DHTML operations require a large amount of memory and CPU processing power. The Action
Task Manager improves DHTML service performance by preventing a large number of actions from
being run simultaneously.
The Action Task Manager coordinates DHTML actions through two fixed-size tables:
● Concurrent Processing Table - This registers the requests that are currently being processed by
the DHTML service.

● Waiting Requests Queue - This registers the requests that are waiting for being processed by the
DHTML service.
Note: Only certain operations that consume considerable hardware resources need to be prevented
from being run at the same time. You can define which kind of requests need to be queued before
being processed.

When a new DHTML request reaches the server, it will be processed according to the following flow:
1. The DHTML service determines whether the requested operation is a restricted action. If it is, the
Action Task Manager will take over the request. Otherwise, it will be processed directly, without
being managed by the Action Task Manager.

2. If the Concurrent Processing Table is full, the restricted request will be assigned to the Waiting
Requests Queue. If the queue is full, the DHTML service will refuse the request and return a
warning message.

3. After the request has been processed, it will be de-registered from the Concurrent Processing
table. The DHTML service will then automatically continue to process the requests in the Waiting
Requests Queue.

By using the property file dhtml.properties provided in JReport Viewer, you can balance the server load
by adjusting table sizes and specify which kind of requests are managed by the Action Task Manager.

dhtml.properties
The dhtml.properties file is located at <install_root>\bin. It allows you to control three major
options for the Action Task Manager:
● Specifying the size of the Concurrent Processing Table
Use queue.actions.max.concurrent=[integer] to set the maximum number of requests that can
be processed simultaneously. The value of this property can be equal to or larger than 0. Use 0
(default) to disable the request queue feature.

● Specifying the size of the Waiting Requests Queue table


Use queue.actions.max.pending=[integer] to set the maximum number of to-be-handled
requests that the queue can contain. The value of this property can be equal to or larger than 0. 0
means no requests will be stored in the queue. A request will either be handled by the DHTML service
or be rejected when the maximum limit of the Concurrent Processing table has been reached.

● Specifying the actions that can be applied for the DHTML Request Queue feature
These are listed below:
queue.actions.init=false # Action: DHTML report initialization
queue.actions.undo=true # Action: Undo
queue.actions.redo=true # Action: Redo
queue.actions.drill=true # Action: Drilling
queue.actions.drillup=true # Action: Drilling up
queue.actions.refresh=false # Action: Refreshing
queue.actions.filter=true # Action: Filtering
queue.actions.sort=true # Action: Sorting
queue.actions.search=true # Action: Searching
queue.actions.finishNewReport=true # Action: Finishing creating a new report

These properties will only work when the queue feature has been enabled by setting queue.max.
concurrent.actions>0.

True - The action will be handled by the Action Task Manager.


False - The action will not be handled by the Action Task Manager, but be directly processed by the
DHTML service without being queued.
Studio Reports
JReport provides the studio reporting solution for faster and simpler design and creation of reports
using a web browser.
Studio reports are viewed using a new interactive viewer called JReport Studio. JReport Studio provides
a much nicer end user experience with many powerful features for interfacing with a report such as
changing parameters without re-running the report. In addition, JReport Studio still supports exporting
the report to all supported output formats.
The data sources that can be used to create studio reports are business views that are resources built
on top of queries. Business views are created and managed in JReport Designer (for details, see
Business views in the JReport Designer User's Guide). In JReport Server, studio reports are created via
the JReport Studio Wizard using a browser and are opened and edited via JReport Studio.
Using JReport Studio Wizard, it is easy to create complex reports with multiple components in a tabular
style layout. Studio reports also allow for company logo and titles to be placed on the top of the page
for more formal presentation.
A studio report template contains only one report and uses .wls as the file suffix. Studio reports are
stored in the JReport Server resource system and follow the server resource and version management
rules such as archive policy and permission setting.
JReport Designer supports creating, opening, and editing of studio reports (for details, see Working
with studio reports in the JReport Designer User's Guide). JReport Designer also allows for studio
reports created on JReport Server to be downloaded to Designer and further edited.
This chapter covers the following topics to help you better interact with studio reports
● Why studio reports and when to choose them

● Components supported in studio reports

● JReport Studio window elements

● Creating studio reports via wizard

● Editing studio reports in JReport Studio

● Running studio reports on server

Notes:
● A JReport Server Live license is required in order to use this feature. If you do not have a Live
license please contact your Jinfonet Software account manager to obtain a license.

● JReport Studio Wizard and JReport Studio support Internet Explorer 8, Firefox 3.5, and higher
versions, or Google Chrome 5.
Why studio reports and when to choose them
JReport Studio displays studio reports (which are also called web layout reports) that are aimed at
easier and faster report creation and design, faster report execution, easier customization, and better
presentation style using a newer Rich Internet Application (RIA) Web 2.0 interface. Studio reports also
support agile development techniques such as continuous integration by allowing report templates to
be updated by both JReport Studio and JReport Designer.
● Fewer functions
Studio reports (.wls) support a subset of functions of JReport page layout report sets (.cls). The basic
and essential functions not only guarantee a good report presentation, but also make the report
design experience easier for a new user of JReport.

● Single report solution


Only one report in a studio report speeds up the report running process as compared to a multiple-
report report set.

● Tabular style layout


The creation of a page layout report set using the Standard Report Wizard can only create one data
component (table, crosstab, chart, or banded object) using the wizard. The JReport Studio Wizard
provides a tabular style layout in which you can place a table, crosstab or chart in each tabular cell
so as to achieve a holistic layout with multiple components from the very beginning.

● Predefined report templates


Studio reports allow you to choose a starting template so you can predefine the template to include
standard features such as company logo, company name, privacy notices or any standard items and
styles you want your users to start with.

● Fast report rendering


At runtime, JReport Studio provides much higher performance when viewed from a browser
compared to viewing a report set using JReport Viewer. Using JReport Viewer, all of the user action
requests must be sent to JReport Server which renders the new page on the server and updates the
browser view. Using JReport Studio, many of the actions which require only a change in rendering
the view are done locally on the client in the browser. By using JReport Studio, JReport Engine is
structured so that as much of the processing as possible is completed on the client side allowing
much higher salability for JReport Server allowing the server to handle more simultaneous users.

● Oriented toward presentation rather than analysis


Unlike page layout reports, studio reports do not support slicing and dicing data since the data source
for studio reports has been designed with no hierarchical relationship between the data objects.
Create studio reports if you do not want to analyze report data such as drilling down and drilling up,
but look forward to an excellent Web 2.0 presentation.

● Creation and edition in both JReport Server and Designer


Studio reports created using the JReport Studio Wizard can be downloaded from JReport Server and
edited in JReport Designer and studio reports can be created in JReport Designer and published to
server just like .cls reports. However, page layout reports created using the Standard Report Wizard
can only be edited in the server. Designer can view these reports but not modify them and publish
them.
Also, JReport Designer can be used to create studio reports which can be run in JReport Studio on
the server and saved as a template to use in JReport Studio. JReport Designer cannot directly create
the temple but can create the report and then using JReport Studio, save the report as a template (.
wslt).

● Standard banded objects not supported


Page layout reports support standard banded objects which are not supported by studio reports.
Components supported in studio reports
Components are the objects that you can place in a report. JReport provides a full set of components
that allow you to present and control the report data and presentation in a wide variety of ways.
Studio reports support the following report components:
● Labels
A label is an object that contains a string. It is typically a brief description used to identify a field or
other value nearby.

● Images
An image is a digital representation of a picture. The following image types are suppported in studio
reports: .gif, .jpg, and .png.

● DBFields
DBFields, or database fields, are fields directly from columns in the database or other data source
such as XML or Java objects.

● Formulas
Formulas are calculated from DBFields, other formulas, summaries, and parameters, so they can
present information which is not available directly from the database fields.

● Summaries
A summary is a special kind of formula. A summary generates a count, average, sum, standard
deviation or other transformation of a set of data values. A summary applies to a defined group of
data. Summaries are required to provide the data values for charts as well as totals for table reports.

● Parameters
A parameter in JReport is a variable whose value is determined at runtime. The runtime parameters
help you dynamically control your report results such as filtering data.

● Special fields
Special fields are defined by JReport and allow you to easily obtain system information and report-
related data and add it to your report. All special fields are supported to insert into studio reports in
JReport Designer. However, due to the characteristics of JReport Studio, only these can be rendered
and edited in JReport Studio: User Name, Modified Date, and Modified Time.

● Web controls
Web controls are report components designed to be similar to the kinds of controls found on web
pages. Currently, the following four web controls are supported in studio reports: parameter control,
parameter form control, filter control, and navigation control.

● Multimedia objects
Multimedia objects include Flash, Real Media, and Windows Media objects.

● Tabular
A tabular is a component designed to lay out other components. There is one and only one tabular in
a studio report.

● Tables
A table gives you great control over how to present data, including placing fields, grouping them, and
sorting them. It is composed of rows and columns, and each contains several cells. With such a
structure a table is a good way to show any two-dimensional dataset.

● Crosstabs
A crosstab summarizes data and presents the summaries in a compact row and column format.

● Charts
A chart organizes and graphically presents data in a way that makes it easy for end users to see
comparisons, trends, and patterns in data. It represents the report data in a visually straightforward
form.
Currently, these types of chart are supported in studio reports:
❍ Clustered Bar 2-D

❍ Stacked Bar 2-D

❍ 100% Stacked Bar 2-D

❍ Clustered Bench 2-D

❍ Stacked Bench 2-D

❍ 100% Stacked Bench 2-D

❍ Line 2-D

❍ Stacked Line 2-D

❍ 100% Stacked Line 2-D

❍ Area 2-D

❍ Stacked Area 2-D

❍ 100% Stacked Area 2-D

❍ Clustered Pie

❍ Clustered Donut

❍ Gauge Dial 2-D

❍ Bullet 2-D

For details about each type, see Chart types in the JReport Designer User's Guide.
For how charts present data, see How data is represented in a chart in the JReport Designer User's
Guide.
For the elements that compose a chart, see Chart elements in the JReport Designer User's Guide.

Tip: In JReport, the components that can be bound with a data source are also referred to as data
components. These components include tables, crosstabs and charts.
JReport Studio window elements
The main page of JReport Studio consists of the user information bar, menus, toolbar, left panels and
report area. The options for browsing or controlling a studio report are as follows:

Toolbar/Menu Button Tool Name Description


File New Report Creates a new studio report based on
an existing business view.
Open Opens a report.
Save Saves the changes of the current
studio report.
Save As Saves a copy of the studio report or the
report template in the current studio
report to server resources.
Export Exports the report result to disk or
version in various formats.
Page Setup Configures the report page settings.
Print Prints the report result to a PDF/HTML
file.
Exit Closes the current studio report and
exits JReport Studio releasing all of the
resources.
Edit Undo Undoes the last operation.
Redo Reverses the operation of Undo.
Delete Deletes the selected object.
Wizard Opens the component wizard for you to
edit the selected table, crosstab or
chart.
Filter Filters the report records according to
the filter criteria you specify.
To Chart Converts a crosstab into a chart.
To Crosstab Converts a chart into a crosstab.
Rotate Crosstab Rotates a crosstab to exchange the
axes on the crosstab in order to create
a different view of the crosstab.
Report Body Defines properties of the report body.
Properties
Unhide Components Shows the hidden components you
specify.
Style Applies a style to the selected
components or the whole report.
View Editing Marks Shows or hides editing marks (dashed
outlines for objects and report body). If
the option is unselected, the editing
mark will not be shown when a report
object receives focus, and report
objects cannot be moved or resized.
Refresh Runs the report using previously
provided parameters. The Refresh
operation fetches the data again.
Insert Table Inserts a table into the report.
Crosstab Inserts a crosstab into the report.
Chart Inserts a chart into the report.
Parameter Control Inserts a parameter control into the
report.
Parameter Form Inserts a parameter form control into
Control the report.
Filter Control Inserts a filter control into the report.
Navigation Control Inserts a navigation control into the
report.
Label Inserts a label into the report.
Image Inserts an image into the report.
Multimedia Object Inserts a multimedia object into the
report.
Format Font Specifies the font format of the
selected text. Available only when a
label or field is selected.
Merge Merges the selected tabular cells into
one.
Split Splits the selected tabular cell into the
specified number of rows and columns.
Help User's Guide Opens the JReport Studio User's Guide.
JReport Home Page Connects to JReport Home Page.
Technical Support Accesses Jinfonet Technical Support.
About JReport Web Shows product information about
JReport Web.
Standard Toolbar New Report Creates a new report based on an
existing business view.
Open Opens a report.

Save Saves the changes of the current


studio report.
Save As Saves a copy of the studio report or the
report template in the current studio
report to server resources.
Export Exports the report result to disk or
version in various formats.
Page Setup Configures the report page settings.

Print Prints the current report result to a


PDF/HTML file.
Refresh Runs the report using previously
provided parameters. The Refresh
operation fetches the data again.
Undo Undoes the last operation.

Redo Reverses the operation of Undo.

Filter Filters the report records according to


the filter criteria you specify.
Delete Deletes the selected object.

Rotate Crosstab Rotates a crosstab to exchange the


axes on the crosstab in order to create
a different view of the crosstab.
Swap Chart Groups Specifies whether to switch data
between the category and series axes,
or between the category and value
axes of a chart if there is no field on
the series axes.
Quick Format Font Specifies the font format of the
Toolbar selected text. Available only when a
label or field is selected.
Background Color Changes the background color of the
selected text. Available only when a
label or field is selected.
Align Makes the selected text left, center or
right aligned. Available only when a
label or field is selected.
Merge Merges the selected tabular cells into
one.
Split Splits the selected tabular cell into the
specified number of rows and columns.
Context Toolbar for Table Wizard Opens the Table Wizard for you to edit
Table the table.
Show/Hide Detail Hides or shows the detail columns you
specify.
Add/Remove Group Specifies whether to add or remove the
selected field as a group.
Show/Hide Summary Specifies whether to show or hide the
selected summary field.
Hide Hides the selected column.

Aggregate On Creates a new summary directly based


on the field bound with the table detail
column.
Context Toolbar for Crosstab Wizard Opens the Crosstab Wizard for you to
Crosstab edit the crosstab.
Rotate Crosstab Rotates a crosstab to exchange the
axes on the crosstab in order to create
a different view of the crosstab.
Context Toolbar for Chart Wizard Opens the Chart Wizard for you to edit
Chart the chart.
Swap Chart Groups Specifies whether to switch data
between the category and series axes,
or between the category and value
axes if there is no field on the series
axes.
Chart Type Lists all available chart types for you to
change the type of the chart.
Chart Options Lists more options for you to specify
the layout of the chart.
Panel Parameters Lists all the parameters used by the
current report. It is available when the
current report uses parameters.
Resources Lists all the available resources.
Components Lists all the available components.
Filter Specifies the criteria to filter the data
field. You can also remove or change
existing filters.
Go to Filter After you perform the go-to-by-value
action, the panel is displayed showing
the filter created by the action.
Shortcut Menu Show Shows the selected fields.
Apply Style Applies a style to the selected
component.
Delete Deletes the selected object.
Hide Hides the selected object.
Properties Defines properties of the selected
object.
Filter Provides submenu items for filtering
the data in the selected component or
remove existing filters.
Sort Provides submenu items for sorting
records on the selected field in
ascending/descending order, or remove
the sort.
Go to Detail Goes to the detailed information of the
selected summary.
Edit Detail Table Edits the detail table to define the
detail fields of the summary.
Edit Link Links the selected object to a report,
URL or E-mail.
Conditional Adds some conditional formatting to
Formatting the currently selected field.
Go To Goes to any group to show its record
information.
Go to By Value Goes to any group with the current
group value as a filter to show its
record information.

Note: The shortcut menu contents vary with the objects you right-click. The above table only lists
some typical shortcut menu items. The following sections will guide you to use the shortcut menu for
any object you may right-click.
Creating studio reports via wizard
On the JReport Console > Reports page, you can directly create a new studio report in a folder into
which a catalog containing one or more business views have been published.
To create a studio report:
1. Open the folder and select the catalog for the new studio report from the Catalog drop-down list,
then click New Report on the task bar of the Reports page.

2. In the Select Report Type dialog, check the option Web Layout Report and click OK. The JReport
Studio Wizard is then displayed.

3. In the Page screen, choose a template for the report. Template1 allows for your company logo and
report title to be added. Template2 allows for more such as company name and title and report
sub title. Use to load your company logo. You can set the font properties for company titles
and report titles using . Click the Page Setup link to set the page properties. If you are an
administrator with the privilege of publishing resources, you can also create a new template
according to your requirement.

4. In the Layout screen, select the required layout with which you want to create the report. Then, in
the edit layout area, select a tabular cell and select the component you want to display in the cell.
Click the Align drop-down list to set the component to the left, center or right of the cell. Repeat
this to add component to the other cells.
If required, you can split the selected cell horizontally or vertically by clicking the Horizontal Split
or Vertical Split button, merge adjacent cells by selecting them and clicking Merge. You can also
resize the tabular cells by dragging the cell border.

5. In the Bind Data screen, define the specified components. You can use the Back and Next buttons
to switch between the components.
❍ For Table component:

a. Specify a title for the table in the Table Title field, and if necessary, click to set the
font properties for the title.

b. From the Data Source drop-down list, select the business view in the current catalog, on
which the table will be built. Click the Filter button to add some filter conditions to the
business view to narrow down data displayed in the table if required.

c. Select the required table type: Group Left, Group Above, Group Left Above, or Summary
Table.

d. In the Display tab, add the required fields from the Resources box to be displayed in the
table. Specify the label of any added field as required.

e. In the Group tab, add the group objects as the grouping criteria, then specify the
sorting order of each group in the Sort column.

f. To add summaries, go to the Summary tab. Select the group to which the summary will be
applied, then add an aggregation object as the summary field.

❍ For Chart component:

a. Specify a title for the chart in the Chart Title field, and if necessary, click to set the
font properties for the title.

b. From the Data Source drop-down list, select the business view in the current catalog, on
which the chart will be built. Click the Filter button to add some filter conditions to the
business view to narrow down data displayed in the chart if required.

c. To create a single chart, in the Primary Axis box, select the required chart type from the
chart type drop-down list.

To create a combo chart, click above the Primary Axis box and an additional chart type
will be added. You can replace the additional chart type by selecting the required one from
the chart type drop-down list. Repeat this to add more chart types. Check the Secondary
Axis checkbox if you want to have the secondary axis (Y2) and define the chart types on
the axis as required. To delete a type, select it and click .

d. Select a group object in the Resources box and add it to the Category or Series text
field, the data of which will be displayed on the corresponding axis.

e. In the Primary Axis or Secondary Axis box, select a chart type and add an aggregation

object as the data of the type (you can add more than one aggregation object to a
type). Each added chart type needs to have at least one aggregation object.

f. If you want to define some sort order and Select N condition on the category/series field,
click above the Category/Series text field.

g. In the Category/Series Options dialog, specify in which order values of the category/series
field will be sorted in the Category/Series Order box.

h. In the Category/Series Selection box, specify the Select condition to All, Top N or Bottom
N. If All is selected, all category/series values will be shown in the chart; if Top N or Bottom
N is selected, the text field next to it will be enabled and you can specify an integer here,
which means that the first or last N category/series values will be shown in the chart.

i. Check the Based On checkbox and specify values for the two drop-down lists that follow
according to your requirement.
If Based On is unchecked, the order of the first or last N category/series values will be
based on what you specify in the Category/Series Order box of the dialog; if you check it,
the order will be based on values of the summary field and the sort direction you specify in
the drop-down lists next to Based On.

j. If you have selected Top N or Bottom N from the Select drop-down list, you can check the
Remaining Categories/Series In checkbox and then type a character string in the text
field, so that the category/series values beyond the first or last N range will be merged into
the group with the name as that character string.

k. If necessary, you can check Skip First, and then input a number M in the text field to the
right, then the first M category/series values will be skipped and the Select N condition will
begin with M+1. The skipped values will be merged into the Remaining Categories/Series
group.

l. Click OK to accept the settings.

❍ For Crosstab component:

a. Specify a title for the crosstab in the Crosstab Title field, and if necessary, click to
set the font properties for the title.

b. From the Data Source drop-down list, select the business view in the current catalog, on
which the crosstab will be built. Click the Filter button to add some filter conditions to the
business view to narrow down data displayed in the crosstab if required.

c. From the Resources box, select a group object and click or to add it to the
Columns or Rows box as a group field. Then, in the Label column, edit the display name of
the group object if required. This will label the row/column when the report is displayed. By
default the Label column is blank and no label will be created for the row/column. In the
Sort column, specify the sorting manner for the group field.

d. Select an aggregation object or a detail object and click to add it to the


Summaries box as an aggregate field. If a detail object is added, specify the aggregate
function for it in the Aggregation column. In the Label column, edit the display name of the
aggregate field as required.

e. Repeat this to add more group/aggregate fields. If you want to remove any field, select it
and click . To adjust the order of the fields, select a field and click or .

6. In the Style screen, apply a style to the report.

7. Click Save to save the report to the server resource tree. For details, see Saving the report.

8. Click Run to open the report in JReport Studio.

See also JReport Studio Wizard for details about options in the wizard.

Predefining report templates


Studio reports allow you to choose a starting template. If you are an administrator with the privilege of
publishing resources, you can predefine the template to include standard features such as company
logo, company name, privacy notices or any standard items and styles you want your users to start
with.
To create a template:
1. In the Page screen of the JReport Studio Wizard, select a template from the Templates box.

2. Specify the display names for report title, sub title and company title in their text field, modify
their font properties by clicking , and load the company logo by clicking if required.
Then click the Save button.

3. In the Save As dialog, choose the file type of Studio Report Template(*.wsld), and specify a
new name for the wsld file in the file name text field or select an existing wsld file from the
template box to overwrite the template according to Publish privilege.
4. When done, click Save, and the new template will then be added into the templates directory on
your server.

Administrators with the Publish privilege can also save report template after a report is opened in

JReport studio. To do this, click Menu > File > Save As (or the Save As button on the Standard
toolbar), and then follow steps 3 and 4 above.
The saved report templates will be automatically loaded onto the Page screen of the JReport Studio
Wizard for use.
Editing studio reports in JReport Studio
JReport Studio is the web oriented page where you view and edit studio reports. When a report is
opened in JReport Studio, by default it is in the view mode which provides only viewing-oriented
functions. If you want to edit the report, click the Edit Mode link on the toolbar to enter the edit mode.
Pick a task from the following:
● General operations in reports

● Inserting components

● Making simple modifications to components

● Manipulating data components

● Binding links to components

● Using dynamic resources

● Going through the report data

● Applying filters

● Using web controls

● Adding conditional formats to fields

● Applying parameters

● Sorting report data

● Applying CSS styles

● Saving the report

● Exporting/Printing the report result


General operations in reports
You can perform the following general operations in JReport Studio:
● Opening another studio report

Click Menu > File > Open (or the Open button on the Standard toolbar) to display the Select a
Report dialog, in which the studio reports in the same folder as the current open report are listed.
Select the studio report you want to open from the default folder or from another folder, and then
click OK.

● Exiting JReport Studio


If you want to close the current studio report and release the resources, just click Menu > File >
Exit (or the button X on the far right of the toolbar). Do not use the close button on the browser
window as that may not release the resources used by the report.

● Undoing/Redoing actions
You can undo or redo some actions. To do this, click Menu > Edit > Undo or Redo (or the Undo

button or Redo button on the Standard toolbar).

● Navigating component data via scroll bar


For tables, crosstabs and charts, you can use the scroll bar to navigate their data if the tabular cell
can not display all data of the component.

● Turning component pages


In JReport Studio, if a table or a crosstab contains more than one page, a navigation bar specific for
the component will be available right below the component. You can use the navigation bar to view
the desired pages: click a number or input a number in the text box.

● Showing/Hiding editing marks


You can use editing marks (dashed outlines of objects) for purposes such as aligning, moving and
resizing. The editing marks are shown by default. To switch the status of the editing marks, click
Menu > View > Editing Marks.

● Asking for help


At any time, you can click Menu > Help > User's Guide to open the index page of JReport Studio
User's Guide. Furthermore, you can click the Help button in any dialog to show the help document
about the dialog. You can also use the Help menu to access Jinfonet Software website for more
information.
Inserting components
You can insert components into a studio report via the Insert menu or via the Components panel on the
left of the JReport Studio window.
The following table lists the report areas that are valid targets for the various components.

Report Layout Area


Page Header/ Report Tabular
Component Table Cell
Footer Body Cell
Chart Y Y Y N
Crosstab Y Y Y N
Table Y Y Y N
Group object Y Y Y Y
Detail object Y Y Y Y
Aggregation N Y N Y
object
Formula Y Y Y Y
Label Y Y Y Y
Image Y Y Y N
Multimedia object Y Y Y N
Web control Y Y Y N

The following shows inserting a specific component in detail:

Insert a label
To insert a label into a report, locate the place in the report where you want to insert the label, then
click Menu > Insert > Label, or drag Label from the Components panel to the destination. The label
will then be inserted in the specified location.

Inserting an image
1. Locate the place in the report where you want to insert the image.

2. Click Menu > Insert > Image, or drag Image from the Components panel to the destination.
The Insert Image dialog is displayed.

3. Specify the image you want to insert.


❍ To use an image in the local file system, select Local File, then click Browse to find the image.

❍ To use an image on a website, select Web URL, then input the image URL or paste the URL in
the Image URL text field.

❍ To use an image in the image library of the JReport Studio, select Library, then select the
image in the My Images box.

4. Click OK to insert the image.


Inserting a table
1. Locate the place in the report where you want to insert the table.

2. Click Menu > Insert > Table, or drag Table from the Components panel to the destination. The
Insert Table dialog is displayed.

3. Specify a title for the table in the Table Title text field, and if required, click to set the font
properties for the title.

4. From the Data Source drop-down list, select the business view in the current catalog, on which the
table will be built, and if required, click the Filter button to add some filter conditions to the
business view to narrow down data displayed in the table.

5. Select the required table type: Group Above, Group Left, Group Left Above, or Summary Table.

6. In the Display tab, add the required fields from the Resources box to be displayed in the table.
Specify the display name of any added field in the Label column if necessary.

7. In the Group tab, add the group objects as the grouping criteria, then specify the sorting
manner of each group in the Sort column. To adjust the order of the groups, select a group and
click or .

8. To add summaries, go to the Summary tab. Select the group to which the summary will be

applied, then add an aggregation object as the summary field.

9. Click OK to insert the table.

For details about the options in the dialog, see Insert Table dialog.

Inserting a crosstab
1. Locate the place in the report where you want to insert the crosstab.

2. Click Menu > Insert > Crosstab, or drag Crosstab from the Components panel to the
destination. The Insert Crosstab dialog is displayed.

3. Specify a title for the crosstab in the Crosstab Title text field, and if required, click to set the
font properties for the title.

4. From the Data Source drop-down list, select the business view in the current catalog, on which the
crosstab will be built, and if required, click the Filter button to add some filter conditions to the
business view to narrow down data displayed in the crosstab.

5. From the Resources box, select a group object and click or to add it to the Columns

or Rows box as a group field. Select an aggregation object or a detail object and click
to add it to the Summaries box as an aggregate field. Repeat this to add more group/aggregate
fields.

6. In the label column, edit the display names of the added group fields or aggregate fields if
required. These will label the rows, columns and aggregate fields when the report is displayed. By
default these are blank and no labels will be created.

7. In the Sort column, specify the sorting manner for the group fields.

8. In the Aggregation column, specify the aggregate functions for the detail objects.

9. If you want to remove any field, select it and click . To adjust the order of the fields, select a
field and click or .

10. Click OK to insert the crosstab.

For details about the options in the dialog, see Insert Crosstab dialog.

Inserting a chart
1. Locate the place in the report where you want to insert the chart.

2. Click Menu > Insert > Chart, or drag Chart from the Components panel to the destination. The
Insert Chart dialog is displayed.

3. Specify a title for the chart in the Chart Title text field, and if required, click to set the font
properties for the title.

4. From the Data Source drop-down list, select the business view in the current catalog, on which the
chart will be built, and if required, click the Filter button to add some filter conditions to the
business view to narrow down data displayed in the chart.

5. Select a group object in the Resources box and add it to the Category or Series box, the data
of which will be displayed on the corresponding axis.

6. To create a combo chart, click to add the required combo type to Primary Axis and Secondary
Axis respectively. The Secondary Axis option is grayed out in default. Check the Secondary Axis
checkbox if required. A default chart type has been added to the primary axis. To add more types,

repeat the procedures. Then add an aggregation object as the data of the chart type (you can
add more than one aggregation object to a chart). Each added chart type needs to have at least
one aggregation object.

7. To change any type listed in the box, select it, then choose your required chart type from the drop-
down list. To delete a type, select it and click .

8. Click OK to insert the chart.

For details about the options in the dialog, see Insert Chart dialog.

Inserting a multimedia object


1. Locate the place in the report where you want to insert the multimedia object.

2. Click Menu > Insert > Multimedia Object, or drag Multimedia Object from the Components
panel to the destination. The Insert Multimedia dialog is displayed.

3. Choose from the three multimedia object types: Flash, Real Media file, or Windows Media File.
4. In the File Name/URL text field, specify the full path of the multimedia object you want to insert or
use the Browse button to find it if it is on your local disk. Or you can provide a URL for loading it
from a website.

5. The Plug-in page text field provides a default URL from which to download the player to play the
inserted multimedia object on a web page.

6. In the Properties box, specify the properties for the multimedia object as required.

7. Click OK to insert the multimedia object.

For details about the options in the dialog, see Insert Multimedia dialog.

Inserting a web control


You can insert the following web controls into a studio report: parameter control, parameter form
control, filter control, and navigation control. For details, see Using web controls.
Making simple modifications to components
This section introduces the general actions that you can perform on the report components.

Resizing a component and its elements


To resize a component, click anywhere in the component, then you will see it is surrounded by a
rectangle with resizing handles. Point to a handle, when the mouse pointer turns to a double-headed
arrow, you can drag the handle to resize the component.
To adjust the width of a column in a table, point to the right boundary of the column, when the mouse
pointer becomes a double-headed arrow, drag the handle to resize the column.
To adjust the row height in a table, point to the lower boundary of a row, when the mouse pointer
becomes a double-headed arrow, drag the handle to resize the row height. Then all the other rows of
the same role will be resized too. For example, if a detail row is resized, all rows in the detail area will
be resized. If a group row is resized, all rows of the group will be resized, while the other groups' rows
keep unchanged.
To resize the column or row in a crosstab, drag the right or lower boundary. Then all the columns or
rows of the same role will change too.
For a tabular, point to the boundary between two cells and the mouse pointer will become a double-
headed arrow, you can then drag the boundary to adjust the size of the related cells.

Hiding/showing a component
To hide a component, click on the component, when the icon appears at its upper left corner, right-
click on the icon and then select Hide from the shortcut menu.
To show the hidden components, click Menu > Edit > Unhide Components and then select the
desired components to show from the drop-down list. Another way to show the component after hiding
is Undo.

Editing a component
● To edit a label, click in the text and update the content. You can also use the Quick Formats toolbar
to format the font, border, alignment, and background color of a label.

● To edit a table, crosstab, or chart, use the corresponding component wizard on the shortcut menu.
For details, see Manipulating data components.

● To edit an image or a multimedia, click on the component, when the icon appears at its upper left
corner, right-click on the icon and click Edit on the shortcut menu and then modify the settings in
the displayed dialog.

● For a tabular, you can edit it as follows:


❍ Merging tabular cells
Adjacent cells in a tabular which form a rectangle can be merged into one cell.
To merge adjacent cells, select them one by one while holding the Ctrl key, then click Menu >

Format > Merge or click on the toolbar, and these cells will be merged into one cell.

❍ Splitting a tabular cell

To split a tabular cell, select the cell and click Menu > Format > Split or click on the
toolbar, then in the Split Cell dialog, specify the number of rows and columns and click OK.

Modifying component properties


JReport Studio allows you to modify object properties with the corresponding properties dialog.
● To format the properties of any object in a report, right-click the object and then select Properties
from the shortcut menu. In the corresponding properties dialog, specify the settings as required.

● If you want to format the properties of the report, click Menu > Edit > Report Body, then in the
Report Body Properties dialog, configure the properties as required.

For detailed explanation about options in the properties dialogs, refer to the specific topics in JReport
Studio dialogs.

Deleting a component
A component can be removed from the report if it is no longer required. To delete a component, click
on the component, when the icon appears at its upper left corner, right-click on the icon and select
Delete from the shortcut menu. Then, a message will prompt, asking for your confirmation. Click OK
in the message box so as to remove the component.
Note: In a studio report, there must be one and only one tabular, so you cannot either insert another
tabular or delete the current tabular.
Manipulating data components
You can manipulate data components, which refer to tables, crosstabs, and charts, in JReport Studio as
shown below. Note that, most of the manipulations require selecting the component first. To select a
component, click anywhere in the component, when the icon appears at its upper left corner, click
the icon.

Manipulating a table
● Adjusting order of columns in a table
The order of columns in a table can be easily adjusted. To do this, first select a column by clicking on
the column header, then drag it to the left or right boundary of another column, when a highlighted
line appears along the column boundary, release the mouse button, and you will see the order
changes.

● Adjusting the width of table columns according to contents


When the contents in cells of a table column need more space to completely display, you can adjust
the width of the table column according to the contents. To do this, select the column by clicking on
the column header, then right-click the column and select Auto Fit from the shortcut menu.

● Changing the table definition


1. Select the table and do one of the following to display the Table Wizard:
■ Click Menu > Edit > Wizard.

■ Click the Table Wizard button on the Context toolbar.

■ Right-click the icon of the table and select Table Wizard from the shortcut menu.

2. In the Table Title text field, edit the title of the table. You can click to customize the font,
size, and style of the title.

3. If required, click the Filter button to apply some filter conditions to narrow down data displayed
in the table.

4. In the Display tab, add or change the fields displayed in the table.

5. In the Group tab, modify the grouping criteria of the table.

6. Upon finishing, click OK to apply the modifications.

● Aggregating on a detail column


You can summarize the data in a detail column. To do this:
1. Right-click the detail field and select Aggregate On from the shortcut menu. Or you can click
the column header to select the column, then on the Context toolbar, click the Aggregate On

button .

2. In the Aggregate On dialog, specify a function from the Function drop-down list to summarize
the field in the detail column.
3. When done, click OK.
■ If the table has groups, the aggregation will be created for each group in every group level
and for the whole table at the same time.

■ If the table has no groups, the aggregation will be created based on the whole table.

When you finish aggregating on a detail column, you will find a dynamic aggregation is created which
is given a default name Function_DetailFieldName in the Dynamic Resource > Aggregations list in the
Resources panel and you can use it again in the current report if required.

● Adding/Removing groups in a table


You can add more groups into a table or remove the groups that are not required from a table.
❍ To add a group into a table:

Select the table, then on the Context toolbar, click the Add/Remove Group button and you
will get a drop-down list of fields in the business view that can be used as group by fields. From the
list you can select the field you would like to add into the table as a group. If there is no existing
group in the table, the added group will be placed at the left-above position. If the table already
contains groups, the new group will be added as the highest level group and follow the same
position pattern as the closest existing group.

❍ To remove a group from a table:


Click the group column header to select the column, right-click and select Delete from the shortcut
menu, then click Yes in the message dialog to confirm the removal. Or you can use the Add/

Remove Group button on the Context toolbar of the table: unselect the group you want to
remove from the drop-down list, then click Yes in the message dialog.

● Showing/Hiding detail columns


To show/hide a detail column, select the table, then on the Context toolbar, click the Show/Hide

Detail button . From the drop-down list, select/unselect the field name to show/hide its detail
column.
You can also hide a detail column by first clicking its column header to select it and then clicking the

Hide button on the Context toolbar, or right-clicking the column and selecting Hide from the
shortcut menu.

● Showing/Hiding summaries
To show/hide a summary from a table, first select the table and then do either of the following:

❍ On the Context toolbar, click the Show/Hide Summary button . From the drop-down list,
select/unselect the summary field name to show/hide it.

❍ Right-click the icon of the table, then on the shortcut menu, select/unselect the summary field
name from the Show/Hide Summary sub menu to show/hide it.

Manipulating a crosstab
● Changing the crosstab definition
1. Select the crosstab and then do one of the following to display the Crosstab Wizard:
■ Click Menu > Edit > Wizard.

■ Click the Crosstab Wizard button on the Context toolbar.

■ Right-click the icon of the crosstab and select Crosstab Wizard from the shortcut menu.

2. In the Crosstab Title text field, edit the title of the crosstab. You can click to customize
the font, size, and style of the title.

3. If required, click the Filter button to apply some filter conditions to narrow down data displayed
in the crosstab.

4. Change the fields and summaries used by the crosstab.

5. Upon finishing, click OK to apply the modifications.

● Converting a crosstab into a chart


1. Select the chart and then do either of the following to display the To Chart dialog:
■ Click Menu > Edit > To Chart.

■ Right-click the icon of the crosstab and select To Chart from the shortcut menu.

2. In the Title text field, input a title for the chart. You can click to customize the font, size,
and style of the title.

3. The Resources box lists all the view elements used in the selected crosstab including group and
aggregation objects. The chart can only be defined based on the view elements listed. Add a
group object from the Resources box to the Category box, and so to the Series box, and

aggregation objects to the Show Values box respectively.

4. Click the OK button to finish the conversion.

● Rotating a crosstab
Columns and rows in a crosstab can be exchanged. This operation is called rotating a crosstab.
To rotate a crosstab, first select it, and then do one of the following:
❍ Click Menu > Edit > Rotate Crosstab.

❍ Click the Rotate Crosstab button on the Context toolbar.

❍ Right-click the icon of the crosstab and select Rotate Crosstab from the shortcut menu.

● Adjusting the width of crosstab fields according to the contents


When the contents in the field of a crosstab need more space to completely display, you can adjust
the width of the field according to its contents. To achieve it, right-click the field and select Auto Fit
from the shortcut menu.

Manipulating a chart
● Changing the chart definition
1. Select the chart and then do one of the following to display the Chart Wizard:
■ Click Menu > Edit > Wizard.

■ Click the Chart Wizard button on the Context toolbar.

■ Right-click the icon of the chart or any part of the chart other than the legend and label,
then select Chart Wizard from the shortcut menu.

2. In the Chart Title text field, edit the title of the chart. You can click to customize the font,
size, and style of the title.

3. If required, click the Filter button to apply some filter conditions to narrow down data displayed
in the chart.

4. Change the group and aggregation objects used by the chart.

5. Upon finishing, click OK to apply the modifications.

● Formatting chart elements


You can format the chart platform, paper, legend, X and Y axes, wall, floor, and gridlines using the
corresponding format command on the shortcut menu of a chart. For details about the element
properties, refer to the specific format dialog in JReport Studio dialogs.

● Sorting category/series labels


You can sort the labels on the category or series axes of a chart in either descending or ascending
alphabetical order. To do this, right-click the chart, then on the shortcut menu, select the required
order from the Sort Category or Sort Series submenu.

● Swapping chart groups


You can switch data between the category and series axes, or between the category and value axes
of a chart if no field on the series axes.
To swap the chart groups, first select the chart, then do either of the following:

❍ Click the Swap Chart Groups button on the Context toolbar.

❍ Right-click the icon of the chart or any part of the chart other than the legend and label and
select Swap Chart Groups from the shortcut menu.

● Converting a chart into a crosstab


1. Select the chart and then do either of the following to display the To Crosstab dialog:
■ Click Menu > Edit > To Crosstab.

■ Right-click the icon of the chart or any part of the chart except for the legend and label and
click To Crosstab on the shortcut menu.

2. In the Title text field, input a title for the crosstab. You can click to customize the font,
size, and style of the title.

3. Select a group object in the Resources box and click or to add it as a group field to

the Columns or Rows box; select an aggregation object and click to add it as an
aggregate field to the Summaries box. Repeat these to add more aggregate fields.
In the Label column, you can edit the label of a group field or aggregate field, and the Sort
column allows you to specify a sorting manner on a group field.

If you want to remove any group/aggregate field, select it and click .

To adjust the order of group/aggregate fields, select a group/aggregate field and click or .

4. Click OK to finish the conversion.

● Changing chart type

Select the chart, then on the Context toolbar, click the Chart Type button . From the drop-
down menu, select the desired chart type and its subtype.

● Changing legend position in a chart


Chart legend can be placed at the top, bottom, left or right position in a chart. To change the legend

position, select the chart, then on the Context toolbar, click the Chart Options button . From
the drop-down menu, go to the Legend submenu and select the desired position.

● Showing/Hiding labels on the X/Y axis

Select the chart, then on the Context toolbar, click the Chart Options button . From the drop-
down menu, go to the Label submenu, then select/unselect the desired labels to show/hide them.

● Showing/Hiding X/Y gridlines

Select the chart, then on the Context toolbar, click the Chart Options button . From the drop-
down menu, go to the Gridlines submenu, then select/unselect the desired gridlines to show/hide
them.
When gridlines are shown, it is better to also have the wall shown so as to make the background
gridlines more intuitive. To show the wall, follow the steps above, then on the Gridlines submenu,
select Wall.
Binding links to components
You can bind links to labels, images, DBFields, formula fields, parameter fields, and multimedia objects.
To bind a link to a component:
1. Right-click the component and select Edit Link on the shortcut menu. The Edit Link dialog
appears.

2. Specify the link type to which the component will be linked by selecting the desired type and then
set the related options for the type.
❍ Link to Report
If you create a link to a report, when viewing the result, you can view another report by clicking
the component.

❍ Link to URL
Enter the URL in the Hyperlink box if you want to create a link to a web page, then specify
whether to open the URL in a new window.

❍ Link to E-mail
Enter the E-mail address in the Hyperlink box.

3. When done, click OK to close this dialog.

See also Edit Link dialog for additional information about options in the dialog.

Linking a report to another report


A report can be linked to another report, after which the trigger object in the primary report can be
clicked in order to jump to the linked report to obtain information about the trigger object. In JReport
Studio, it is very simple to set up the link relationship between two reports.
1. Create a new studio report which will be used as the primary report.

2. In the report, select an object to be the trigger for loading the linked report.

3. Right-click the trigger object, click Edit Link on the shortcut menu. Link to Report is selected by
default in the Edit Link dialog.
4. Click the Browse button to specify the target studio report you want as the linked report.

5. The Target Report Parameters section lists the parameters of the linked report. You can assign
fields of the primary report to the parameters. Then, when running the linked report from the link,
the field values of the primary report will be assigned to the parameters automatically.

6. In the Target Component section, click to specify which components in the linked report will
be interlinked with the primary report.

7. In the Conditions section, specify the link relationship for each target component.
a. Select a component in the Target Component box, and then set link condition for it in the
Conditions section.
b. Click to add a condition row.

c. Select a field/formula from the drop-down list in the Main column.

d. Choose an operator from the drop-down list in the OP column. The operator can be "=",
"<>", "<", ">", "<=", ">=", or "IN".

e. Specify the field/formula of the linked report from the drop-down list in the Target column.
All fields in the linked report of the same value type as the selected main report field will be
available.

f. If necessary, you can specify more link conditions by specifying the main report field, the
operator, and the corresponding field in the linked report. Note that the relationship among
these link conditions is AND, which means that JReport will fetch linked report data which
meets all of the conditions.

g. Repeat the above steps to set link conditions for other target components.

8. Specifies whether to have the linked report loaded in a new window.

9. Click OK to apply the settings.

Then, when the primary report is opened in HTML, PDF or Excel format, when you click the trigger
object in the primary report, you will find that the linked report is displayed according to the specified

link conditions. To go back to the original report, click on the toolbar. Click next to and you
will get a drop-down list which lists the original report and the linked targets you have just visited
within the link chain. The item checked on the drop-down list is the currently opened page. Select an
unchecked item and you will be directed to that target.
Notes:
● When linking reports, you need to avoid link loops. For example, if you have linked report A to report
B, then you cannot link report B back to report A again.

● The condition specified in the Conditions section is used for setting up the searching criteria between
the two linked reports. That is, the pages containing the data that meet the condition in the linked
report will be displayed after you click the link.
Using dynamic resources
When you add fields to a report, sometimes you may find that the view elements that have been predefined in the business view cannot meet your
requirements, in which case, you can create some dynamic resources and use them in the report to get the desired data. Then when you save the report,
the dynamic resources will be saved along with the report as its resources.
Dynamic resources that can be used in studio reports include formulas and aggregations.

Creating and using dynamic formulas


You should have some knowledge of the formula syntax before you can successfully compose a formula with no errors. To learn the formula syntax, refer to
Formula syntax in the JReport Designer User's Guide.
To create a dynamic formula:
1. In the Resources panel in the JReport Studio Wizard or in the report/component wizard, expand the Dynamic Resource > Formulas node, then click
<Add Formula…> to display the Formula Editor.
2. Enter a name for the formula in the Formula Name text field.

3. Compose the formula by selecting the required fields, functions and operators from the Fields, Functions and Operators panels. You can also write the
formula by yourself in the editing panel.
For details about the functions and operators, refer to Built-in functions and Operators in the JReport Designer User's Guide.

4. Click the Check button to check whether or not the syntax of your formula is correct.

5. When done, click the OK button to create the formula.

Notes:
● You can only save a formula with no errors into a report.

● Currently, global variables are not supported in dynamic formulas.

● When formulas reference display names or mapping names, the names should not contain any of the following characters if the names are not quoted by
double-quotation marks "":
"~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "-", "+", "=", "{", "}", "[", "]", "|", "\\", ":", ";", "\", " ' ", "<", ",", ">", ".", "?", "/"
Examples:
❍ Expression @Customer#; will cause a syntax error. But @"Customer#" is ok.

❍ If a field has the display name Category.Aggregation, when adding it to a formula, quote it as "Category.Aggregation" or "Category"."Aggregation".

Once a dynamic formula has been created, you can then drag it from the Resources panel to the desired position in the report as a detail object, or use it
when working with the report/component wizard.
Also, if you want to further edit an existing dynamic formula or remove any formula that is not required, right-click the formula and then click the
corresponding command on the shortcut menu.

Creating and using dynamic aggregations


In JReport Studio, you can also create dynamic aggregations by mapping them to the available resources such as group objects, detail objects in the current
business view and the dynamic formulas that have been created in the report.
To create a dynamic aggregation:
1. In the Resources panel in the JReport Studio Wizard or in report/component wizard, expand the Dynamic Resource > Aggregations node, then click
<Add Aggregation…>. The Add Aggregation dialog is then displayed.
2. Click the chooser button next to the Resource Name text field to specify the field on which the dynamic aggregation is based.

3. From the Aggregate drop-down list, specify the aggregate function.

4. In the Aggregation Name text field, specify the display name of the dynamic aggregation.

5. When done, click OK to create the dynamic aggregation.

Once a dynamic aggregation is created, you can then drag it from the Resources panel to the desired position in the report to see the desired data, or use it
when working with the report/component wizard. And if you want to edit any dynamic aggregation or delete it, right-click the aggregation and click Edit or
Delete on the shortcut menu.
Going through the report data
In a studio report, you can choose to show certain groups of records according to your requirements,
and switch among the groups to see the data you want.
This section presents two kinds of going in studio reports. They are:
● Automatic going

● Going to detail

Automatic going
Automatic going enables you to switch from the current group to another group by using system-
defined commands on the shortcut menu, and it is divided into two kinds:
● Go-to
It enables you to obtain a different view of data by switching among groups.

● Go-to-by-value
It enables you to filter data based on a go-to action so as to obtain a more detailed view of the data.

Automatic going actions are performed on tables and crosstabs. After a going action has been
performed, the data presented in the component will be re-loaded from the data buffer, showing only
the records in the selected group, and the new report created by going can also be viewed, printed,
and exported to other format in the same way as the original report.
Assume you have created a crosstab report on the business view WorldWideSalesBV in Data Source 1
of the SampleReports catalog showing product sales information with Product Type (ascending) as the
column field, Category (ascending) as the row field, and Total Sales as the summary field, and applied
the default style to the crosstab. The crosstab shows as follows:

We will now take the crosstab as an instance to illustrate the automatic going functions.

Go-to
1. Right-click any value of Product Type, Decaf for example, and choose Go To from the shortcut
menu. The list of groups available for Go To will appear on the submenu.
2. Click Region on the submenu, then in the regenerated result, we can see that Category remains
the group for rows and Region becomes the group for columns.

3. To return to the original status, right-click any value and then click Go To > Product Type on the
shortcut menu.

Go-to-by-value
1. Go back to the original report in the above example.

2. Right-click the value Decaf of the Product Type group, and point to Go to By Value on the
shortcut menu. A submenu for the command is displayed, which lists the same items as those of
Go To.

3. Click Region too and the result will be regenerated.


We can see that the result is different from that of go-to. This is because that, for the go-to-by-
value action, the group of columns changes to Region by the Product Type value Decaf. That is, on
the basis of the go-to action, a filtering action where Product Type = Decaf is further performed,
and thus the result of go-to-by-value is generated.
In addition, when a go-to-by-value action is performed, the Go to Filter panel will be displayed on
the left of the JReport Studio window, which shows the group and the value the filter is based on.

4. To go back to the original report, first delete the filter in the Go to Filter panel, then right-click any
value of Region, choose Go To from the shortcut menu, and click Product Type on the submenu.

Note: If the table type is Group Above, you can right-click its group header to show the shortcut menu
so as to use the automatic going function. For other table types, you have to right-click the group
name in group column to perform automatic going.

Going to detail
Go-to-detail action is performed on the summary of the tables, crosstabs and charts. First define a
table and make it contain the information you would like to view about the summary values. Suppose
that the summary is total sales in different countries. Then when you perform go-to-detail action on the
value of total sales in France, you will get the table displaying the fields you defined and having applied
the filter condition Country=France. When you go to detail of the total sales in another country, the
table will display the data of that country.
To define the detail table for a summary and perform the go-to-detail action on it:
1. Right-click any summary value and select Edit Detail Table from the shortcut menu.

2. In the Edit Detail Table dialog, add the fields you want to display in the detail table of the
summary.

3. Click OK.

4. Right-click a summary value of which you would like to view the detailed information, then click
Go to Detail on the shortcut menu. The detail table for the summary value will then be displayed,
which shows the fields you have defined.

5. To go back to the original report, click on the toolbar.


Applying filters
You can apply filters to business views and data components such as tables, crosstabs and charts of a studio
report so as to narrow down the data displayed in the studio report.

Applying filters to business views


When creating studio reports, you can choose to apply some filter to the specified business view to narrow
down the data scope of the data component using the business view.
In JReport Studio, filters for business views are defined into two categories: predefined filters and user defined
filters. As the name suggests, predefined filters are defined in advance when creating or editing the business
views in JReport Designer (for details, refer to Creating predefined filters in the JReport Designer User's
Guide), and user defined filters are created on business views while they are used.
Filters can be applied to a business view in the report wizard or component wizards.
1. In the Bind Data page of the JReport Studio Wizard or in a component wizard, select the business view
that you are going to add filters to from the Data Source drop-down list, and then click the Filter button
on the right. The Query Filter dialog is displayed.
2. The dialog has the basic and advanced modes for you to define a filter using either simple expressions or
complex expressions.

When it is in the advanced mode, you can also choose to apply a predefined filter of the specified
business view from the Query Filter drop-down list. If you prefer to define a filter on your own, select
User Defined from the drop-down list, and then define the filter according to your requirements. You can
also edit a predefined filter if required and save it as a user defined filter to the business view.
❍ To define a filter using simple expressions:
a. Make sure the dialog is in the basic mode.

b. Select the field on which the filter will be based from the field drop-down list.

c. From the operator drop-down list, set the operator with which to compose the filter expression.

d. Type the values of how to filter the field in the value text box, or select one or more values from
the drop-down list.

e. If you want to add another condition line, from the logic operator drop-down list,
■ To add a condition line of the AND relationship with the current line, select AND, then define the
expression as required.

■ To add a condition line of the OR relationship with the current line, select OR, then define the
expression as required.

Repeat this to add more filter expressions if required. To delete a condition line, click on its left.

❍ To define a filter using complex expressions:


a. Switch the dialog to the advanced mode.

b. Click the Add Condition button to add a condition line.

c. From the field drop-down list, select the field on which the filter will be based.

d. From the operator drop-down list, set the operator with which to compose the filter expression.

e. Type the values of how to filter the field in the value text box, or select one or more values from
the drop-down list.

f. To add another condition line, click the Add Condition button and define the expression as
required. Then click the logic button until you get the required logic to specify the relationship
between the two filter expressions. The logic can be AND, OR, AND NOT, or OR NOT.

g. Repeat the above steps to add more filter expressions if necessary.


To group some conditions, select them and click the Group button, then the selected conditions
will be added in one group and work as one line of filter expression. Conditions and groups
together can be further grouped. To take any condition or group in a group out, select it and click
Ungroup. It is the equivalent of adding parenthesis in a logic expression.
To adjust the priority of a condition line or a group, select it and click the Up or Down button.
To delete a condition line or a group, select it and click the Delete button.

3. After you finish the report wizard or component wizard, the specified filter will be applied to the business
view, so that your report will get data that meets the filter condition only.

Note: Query filters take effect on the component level, which means each time you create a component, you
can apply a filter to the business view the component uses and it will not affect other components based on
the same business view.

Filtering report data


There are the following ways you can take in order to filter components in a studio report: using the Filter
dialog, using the Filter panel, using the Filter web control, or via shortcut menu.

Using the Filter dialog


When using the Filter dialog to filter report data, you can only make the filter applied to a specific data
component in the current studio report.
To filter report data using the Filter dialog:

1. Click Menu > Edit > Filter, or the Filter button on the Standard toolbar. The Filter dialog is
displayed.
2. From the Apply to drop-down list, select the component in the studio report to which you want to apply
the filter.

3. Define the filter using either simple expressions or complex expressions.

4. When done, click OK to apply the filter.

The Filter dialog provides an entry to all the filters used in the current studio report except query filters. You
can click the Inspector button to view the detailed filter information.

Using the Filter panel


The Filter panel on the left of JReport Studio is used to filter data components in the current report that are
using the same business view. To do this:
1. Add group and detail resources into the Filter panel by clicking + on the panel title bar. Each added group/
detail and its values are housed in a separate box. Group and detail objects can be selected from the
business views used by current report.

2. Select the values you would like to filter the report data. The selected values applies a filter condition to
all the data components in the current report that are using the same business view, regardless whether
the data components contain the fields holding those values.
You can make use of the Ctrl or Shift key to do multiple selection.

The value selection applies a filter condition and the logic is as follows:
● For one value selection:
Selected_Field=Selected_Value
For example, Country=USA

● For multiple selection:


(Selected_Field1=Selected_Value1 or Selected_Field1=Selected_Value2) and
(Selected_Field2=Selected_Value3 or Selected_Field2=Selected_Value4)...
For example, (Country=USA or Country=China) and (Year=2008 or Year=2009)

The following shows more about working with the Filter panel:

● You can use the buttons on the bottom of the Filter panel to deal with the value selection in the panel.
❍ Back
Goes back to the previous value selection status and refreshes the report data accordingly.

❍ Clear
Removes all the value selection histories and all the filter conditions based on the selections, and refreshes
the report data accordingly.

❍ Forward
Goes forward to the next value selection status and refreshes the report data accordingly.

● After right-clicking a group/detail name title bar, these options are available for managing the group/detail
object.

❍ Search
Displays the quick search toolbar right above the group/detail box which enables you to search values in
the group/detail object. You can also use the button on the group/detail name title bar to launch the
quick search toolbar.

The following are details about the usage of the quick search toolbar:
■ Text field
Type in the text you want to search for in the text field and the matched text will be highlighted among
the group/detail values.

■ X
Closes the quick search toolbar.


Lists the advanced options.
■ Highlight All
Specifies whether to highlight all matched text.

■ Match Case
Specifies whether to search for text that meets the case of the typed text.

■ Match Whole Word


Specifies whether to search for text that matches a whole word as the typed text.

Highlights the next matched text.


Highlights the previous matched text.

❍ Clear

Cancels the selection of a value in the group/detail object. You can also use the button on the group/
detail name title bar to achieve this.

❍ Clear All
Cancels the selection of all values in all the group and detail objects.

❍ Sort
Sorts the values in the group/detail object in the ascending or descending order.

❍ Delete
Removes the group/detail object from the Filter panel. You can also click X on the group/detail name title
bar to remove it.

Note: The filters created via the Filter panel cannot be seen when studio reports are opened in JReport
Designer.

Cascading relationship among filter controls

The Filter panel can be regarded as a collection of special filter controls which apply to all data components
using the same data source. While common filter controls can choose the data components they apply, still
under the circumstance of using the same data source.
When there are filter controls, including the special ones in the Filter panel, that apply to the same data
components, and when these controls' fields have cascading relationship, the cascading relationship will be
revealed when you select values in the controls.
For example, there is a filter control based on the field Country, a filter control on City, and another on State.
The first two share one table while the third shares nothing with the other two. In this case, Country and City
values will show cascading relationship, but State values will not participate. You select USA in the Country
filter control, the values in the City filter control will change as follows if the control has scrollbar: the cities
belong to USA are displayed in the upper area of the filter control, and the other cities are put in the lower
area and grayed out. For the case that the City filter control has no scrollbar: all the values remain their
positions and the values not belonging to USA are grayed out. In both cases all the values are selectable. But
the State values remain as before, since the selection of them will not affect the data components that the
Country and City filter controls control.

Using filter controls


You can also use the Filter web control to filter one or more data components that use the same data source in
a studio report. A filter control can do filtering based on one field. For details, see Using filter control to filter
report data.

Using the shortcut menu


You can also use filter-related commands on the shortcut menu to filter the data in a table. To do this, point to
any value of the field by which you want to filter data, then right-click to show the shortcut menu. You will see
the Filter item which provides a submenu containing the following commands:
● Remove Filter
This command is enabled after you have applied filtering on the field. Clicking this item will remove all filters
on this field.

● First N
Shows the First N item with which you can filter data to display records that meet the First N condition. You
can select a number from the submenu or enter a positive integer into the text box on the submenu to
specify the First N condition.
For example, if you select 5 from the First N submenu for a certain field, then only the records with the field
value equal to one of the first five field values will be displayed.

● Last N
Shows the Last N item with which you can filter data to display records that meet the Last N condition. You
can select a number from the submenu or enter a positive integer into the text box on the submenu to
specify the Last N condition.
For example, if you select 5 from the Last N submenu for a certain field, then only the records with the field
value equal to one of the last five field values will be displayed.

● Field values
"Field values" is not the name for a command on the Filter submenu, but represents some items which are
the values of the field you have right-clicked. Selecting any field value listed here will make the table only
display records with the field value equal to the selected one.

● More
This command is enabled if the Filter submenu cannot list all field values. When it is enabled, clicking it will
show the Select Values dialog. You can select one value in this dialog, then the table will only display records
with the field value equal to the selected one.
Using web controls
In JReport Studio, these four types of web controls can be applied: parameter control, parameter form
control, filter control, and navigation control.
This section describes each of the web controls and how to use them.

Using parameter control to specify a parameter to a report


A parameter control is a web control that is bound with a parameter used by the current report. By
specifying values to the parameter in a parameter control, you can pass the parameter values to
JReport and run the report with the specified values.
Parameter controls do not support inserting cascading parameters. If you want to do this, use
parameter form controls instead.
To insert a parameter control and use it to specify a parameter to a report:
1. Do either of the following:
❍ Click Menu > Insert > Parameter Control, then point to the destination where you want to
add the parameter control and click the mouse button.

❍ Drag Parameter Control from the Components panel to the destination in the report.

The Insert Parameter Control dialog is displayed.


2. Select the parameter you would like to add to the parameter control, then click OK.

3. A parameter control will be added into the report. There are the following ways to specify
parameter values according to the appearance of the parameter control which varies with the type
and properties of the selected parameter:
❍ Typing in the parameter values if the text field is editable.

❍ Selecting a parameter value from a drop-down list.

❍ Using the calendar button to specify a value using the calendar if the parameter is of Date,
Time, or DateTime type.

❍ Selecting or unselecting the checkbox to specify a Yes/No value.

❍ Using the button to specify multiple values for the parameter in the Enter Values dialog.

4. Once the value in the parameter control changes, the report will rerun with the new parameter
value.

Note: If the specified parameter is no longer used in the report, the parameter control will become
invalid.

Using parameter form control to run reports


A parameter form control is a web control that is bound with the parameters used by the current report
or other reports. By specifying values to the parameters in a parameter form control, you can make the
reports run with the specified parameter values.
To insert a parameter form control and use it to run reports:
1. Do either of the following:
❍ Click Menu > Insert > Parameter Form Control, then point to the destination where you
want to add the parameter form control and click the mouse button.

❍ Drag Parameter Form Control from the Components panel to the destination in the report.

The Insert Parameter Form Control dialog is displayed.

2. Specify the target reports to run using the parameter form control.
❍ To run the current report, select Current Report, then specify the parameters used to run the
report from the Select Parameters box.

❍ To run other reports, select Others, then select the reports you want to run. All the parameters
used by the selected reports are displayed in the Parameter Information box. If all the selected
reports contain no parameters, you cannot finish the dialog.

3. Specify whether to include the Submit button in the parameter form control. If Submit is included,
it is used to submit the parameter values you specified in the parameter form control. If Submit is
not included, once you change the values of a parameter in the parameter form control, the new
values will be applied automatically.

4. Click OK in the dialog to save the changes.


The parameter form control is now inserted in the report. It lists the selected parameters for the
current report or lists all parameters used by the specified reports.

5. In the parameter form control, specify values of the listed parameters.

6. Click the Submit button if present to run the current report or the specified reports. If there is no
Submit button, the change of values in the parameter form control will trigger report rerunning.

Note: If you save or publish a report containing a parameter form control to another directory, the
reports that you bind the parameter form control with will not be saved or published along with the
report.

Using filter control to filter report data


A filter control is used to filter one or more data components, which refer to tables, charts, and
crosstabs, in a report using the same data source. A filter control can do filtering based on one field.
To insert a filter control and use it to filter report data:
1. Do either of the following:
❍ Click Menu > Insert > Filter Control, then point to the destination where you want to add the
filter control and click the mouse button.

❍ Drag Filter Control from the Components panel to the destination in the report.

The Insert Filter Control dialog is displayed.


2. Specify the field on which the filter control is based on, then click OK.

3. The filter control is inserted in the report. It lists all values of the specified field. You can select
one or more values to apply.

4. By default the filter control applies to all the data components in the report that are using the
same data source as the filter control's field. You can specify the exact components to be applied.
To do this, right-click the filter control's title bar, select Properties. Then in the displayed dialog,
select the desired components from the Apply To drop-down list.

After inserting filter controls in the report, you can also insert a navigation control for undoing/redoing
the value selection in the filter controls. For details about the usage of navigation control, see Using
navigation control to undo/redo value selection in filter controls.
Managing a filter control

After right-clicking at the upper left corner of a filter control, these options are available for
managing the filter control.
● Search
Displays the quick search toolbar right above the filter control which enables you to search values in
the filter control. You can also click the button on the title bar of the filter control to launch the
quick search toolbar.

The following are details about the usage of the quick search toolbar:
❍ Text field
Type in the text you want to search for in the text field and the matched text will be highlighted
among the field values.

❍ X
Closes the quick search toolbar. You can also click outside of the quick search toolbar to achieve
this.


Lists the advanced options.
■ Highlight All
Specifies whether to highlight all matched text.

■ Match Case
Specifies whether to search for text that meets the case of the typed text.

■ Match Whole Word


Specifies whether to search for text that matches a whole word and ignore partial word matches.


Highlights the next matched text.

Highlights the previous matched text.

● Clear

Cancels the selection of values in the filter control. You can also use the button on the title bar to
cancel the selection. This operation can be undone/redone.

● Sort
Sorts the values in the filter control in the ascending or descending order.

● Hide
Hides the filter control.

● Delete
Removes the filter control from the report and the filter you created with the filter control will be
removed from the report too. You can also use the X button on the title bar.

● Properties
Opens the Filter Control Properties dialog for editing the properties of the filter control.

Cascading relationship between filter controls


When there are filter controls that apply to the same data components, and when these controls' fields
have cascading relationship, the cascading relationship will be revealed when you select values in the
controls.
For example, there is a filter control based on the field Country, a filter control on City, and another on
State. The first two share one table while the third shares nothing with the other two. In this case,
Country and City values will show cascading relationship, but State values will not participate. You
select USA in the Country filter control, the values in the City filter control will change as follows if the
control has scroll bar: the cities belong to USA are displayed in the upper area of the filter control, and
the other cities are put in the lower area and grayed out. For the case that the City filter control has no
scroll bar: all the values remain their positions and the values not belonging to USA are grayed out. In
both cases all the values are selectable. But the State values remain as before, since the selection of
them will not affect the data components that the Country and City filter controls control.

Using navigation control to undo/redo value selection in filter controls


A navigation control can be considered as an accessorial control for filter controls and used to deal with
the value selection operations in all the filter controls in the same report.
To insert a navigation control into a report, do either of the following:
● Click Menu > Insert > Navigation Control, then point to the destination where you want to add
the navigation control and click the mouse button.

● Drag Navigation Control from the Components panel to the destination in the report.

A navigation control is a combination of three buttons:


● Back
Goes back to the previous value selection status and refreshes the report data accordingly.

● Clear
Removes all the value selection histories and all the filter conditions based on the selections, and
refreshes the report data accordingly.

● Forward
Goes forward to the next value selection status and refreshes the report data accordingly.
Adding conditional formats to fields
You can add some conditional formats to a field in tables or crosstabs, which refer to the DBField,
parameter field, formula field, and summary field, then when the specified condition is fulfilled, the
defined format will be applied to the field values for highlighting.
To add conditional formats to a field:
1. Right-click the field and select Conditional Formatting from the shortcut menu to access the
Conditional Formatting dialog.

2. Click the button to open the Edit Conditions dialog to define a condition using either simple
expressions or complex expressions according to your requirements.

3. The newly added condition will then be displayed and highlighted in the Condition box in the
Conditional Formatting dialog.

4. In the Format box, set the format which will be applied to values of the field when the specified
condition is fulfilled, for example, the font face, font size, font color, etc.

5. Repeat the above steps to add more conditions and define the format for each condition as
required.

To edit a condition, select the condition in the Condition box, then click . In the Edit Conditions
dialog, edit the expressions as required.
To remove a condition and the corresponding format, select the condition in the Condition box and

click .

To adjust the priority of a condition, select the condition in the Condition box and then click or

6. Click OK to apply the conditional formats to the field.

See also Conditional Formatting dialog and Edit Conditions dialog for details about options in the
dialogs.
Applying parameters
When running a studio report with parameters, a dialog is displayed for you to specify parameter
values. After the report is opened in JReport Studio, you can change the parameter values using the
following ways.

Using the Parameters panel


The Parameters panel is available when the current studio report uses parameters. It lists all the
parameters used by the current report. You can specify values to the parameters in the Parameter
panel and then click Apply to make the report run with the specified parameter values.

Using parameter controls


You can insert a parameter control and bind it with a parameter used by the current report. By
specifying values to the parameter in the parameter control, you can pass the parameter values to
JReport and run the report with the specified values. For details, see Using parameter control to specify
a parameter to a report.

Using parameter form controls


You can insert a parameter form control, make it run the current report, bind it with one or more
parameters used by the report. By specifying values to the parameters in the parameter form control,
you can make the report run with the specified parameter values. For details, see Using parameter
form control to run reports.
Sorting report data
You can sort the records or groups at a certain group level in a table, crosstab or chart.
● Sorting records: Changing the order of records in the whole table, crosstab or chart, or in each
group if there are.

● Sorting groups at a group level: Changing the order of groups at the specified group level, that
is, the groups will be sorted by value of the group field.

To sort data on a certain field using shortcut menu:


1. Point to any value of a detail field or group field by which to sort the data in a table, crosstab or
chart, and then right-click.

2. Choose the command Sort > Ascending or Sort > Descending from the shortcut menu.
If what you right-click in Step 1 is a detail field value, the sorting will affect the order of detail
records in the table, crosstab or chart; if it is a group field value, the order of groups in the group
level represented by the group field will be rearranged.

To remove the sort condition on a field, click Sort > No Sort from the shortcut menu.
Note: If you use the shortcut menu to sort the report data by a field and then sort by another field, the
later sort condition will replace the former one.
Applying CSS styles
CSS styles can be applied to studio reports formatting their appearance and characteristics. You can
create and set up your own CSS styles in JReport Designer or any other CSS editor. When you publish
your catalogs to JReport Server, you can include these custom styles with the catalogs.
Styles can be applied to a table, crosstab, or chart, or to the multiple selections of these components,
or to the whole report. The last style always takes effect when more than one style is applied to the
same object.

Applying a style to a report


When a style is applied to the whole report, all components in the report will take a uniform
appearance. You can apply a style in one of the following ways:
● Specify a style in the Style page of JReport Studio Wizard.

● In JReport Studio, click the blank area outside of the report field, then select a style from the Report
Style list on the Edit menu.

Applying a style to a component


You can apply a style to a table, crosstab, or chart by selecting the component in JReport Studio and
then doing one of the following:
● Select a style from the Report Style list on the Edit menu.

● Right-click and then select a style from the Apply Style list on the shortcut menu.

Applying a style to multiple components


You can apply a style to multiple selections of tables, crosstabs, and charts by selecting the
components and then selecting a style from the Report Style list on the Edit menu.
Reference: See also the chapter Styles in the JReport Designer User's Guide for more information
about CSS styles.
Saving the report

To save the changes you made to the current report, click Menu > File > Save (or the Save button on the
Standard toolbar).
If the report is newly created and has not yet been saved, the Save As dialog will be displayed.
1. In the Save in section, browse to the folder where you want to save the studio report in the server resource
tree. You can use the button to return to the parent folder.

2. In the File Name box, enter the name of the report or use the default name. The default file type is studio
report.

3. Click the Advanced button to set the advanced settings for the report if required.
a. From the Status drop-down list, specify a status for the report.

b. From the Catalog drop-down list, select the catalog for the report.

c. Specify the relationship between the saved report and the catalog used to run it:
■ Set Original Catalog as Linked Catalog into Saved Report
If checked, the saved report will be linked with the catalog and will run with the catalog no matter
whether the two are in the same directory. If later the catalog is updated, the saved report will run
with the latest version of the catalog.

■ Set Catalog Copy to Target Folder


If checked, the catalog will be copied to the directory where the report is saved and the saved report
will run with the copied catalog.

d. Optionally, input comments in the Description box as a description for the report.

4. Click Save to save the report.

To save a copy of a report, click Menu > File > Save As (or the Save As button on the Standard toolbar) to
show the Save As dialog, and then do as above.
To find a newly saved studio report version, browse to select the row that the studio report is in on the JReport
Console > Reports page, click Tools > Version on the task bar, and then click the Studio Report Versions tab.
Note: You will not be able to save the report to some locations if you do not have the required permissions. You
need to have Write access to the directory.
Exporting/Printing the report result
When you finish editing a studio report, you may want to export it to other formats or have it printed.

Exporting the report result


You can export the report result as a result version or as a local file in these formats: HTML, PDF, Text, Excel,
RTF, XML, and PostScript.

1. Click Menu > File > Export (or the Export button on the Standard toolbar) to display the Export
dialog.

2. From the Select Report Result Format drop-down list, select a format in which to export the result.

3. Specify the destination of the result:


❍ View Report Result: The result will be directly opened in the web browser if the format is supported
by a plug-in of the web browser; otherwise it will prompt you to save the result file.

❍ Save to File System: The web browser will prompt you to save the result file to a specified folder. If
selected, you need to provide a name for the result file in the File Name field.

❍ Save to Version System: The result will be saved as a result version in JReport Server's versioning
system.

4. Expand More Options to set the options for the selected format. For details about settings of each
format, see Export dialog.

5. Click OK to confirm.

Printing the report result


You can print the report result to a PDF/HTML file.
To print the result of a studio report:

1. Click Menu > File > Print (or the Print button on the Standard toolbar) to display the Print dialog.

2. In the General tab, specify the printer properties, the page range and copies you want to print.

3. In the Appearance tab, specify the appearance of the printed report as required.

4. Click OK. The PDF/HTML result file will be opened in an associated program with which you can print the
result to a printer.

See also Print dialog for additional information about options in the dialog.
Running studio reports on server
Just like normal report sets, studio reports can run using the following ways. However, there are some
differences, which are listed as follows:
● Directly running
A studio report cannot run in DHTML or Applet format. If the Default Format for Viewing Report
property of a studio report is set to DHTML or Applet, the studio report will run in JReport Studio by
default.

● Advanced running
A studio report cannot run in DHTML or Applet format, however, one more format is provided when
you run a studio report in Advanced mode: Studio, by choosing which you can run the studio report
in JReport Studio.

● Scheduled running
The results of a studio report cannot be published to JReport Result or DHTML formats, but one more
format is provided: Studio Result, which is a static studio report result marked as WST file.

You can refer to the following topics for reference about running and scheduling a studio report:
● Running report sets

● Scheduling report sets

Besides running a studio report, you can manage its properties, results, versions, and tasks the same
way as with normal report sets, and publish studio reports either to a local or remote server. Studio
reports also support being inspected by JReport Server Monitor. For details about how to perform those
operations, refer to the corresponding topics in this guide.

Opening studio reports in JReport Studio via URL


JReport provides parameters for developer users to run studio reports via URL. All the parameters are
encapsulated as JSON (JavaScript Object Notation) objects. Therefore, it will help if you obtain some
knowledge on JSON to understand the syntax more clearly. When composing the URL, you need to use
URL encoding to avoid errors.
The following lists the parameters for running studio reports via a URL:
● jrd_report={

"name":"xxx", // The full path of the studio report.


"ver":"-1", // Optional: The report version. -1 means the latest
version.

}
● jrd_catalog={

"name":"xxx", // The full path of the catalog that the studio report
uses.
"ver":"-1", // Optional: The catalog version. -1 means the latest
version.

}
● jrd_param$={

"p1":"v1", // p1 is parameter name, and v1 is p1's value.


"p2":["v1","v2","v3"] // For multiple values

}
● jrd_userinfo={ // Optional.

"user":"xxx", // User name


"country":"us", // The locale representing the region part for
running reports, following locale naming specification
"language":"en", // The locale representing the language part for
running reports, following locale naming specification
"encoding":"UTF-8", // The encoding for running reports
"resolution":"96" // The resolution for displaying reports

}
● jrd_datasources=[
// Optional.
// The following types of external data sources are supported: 0 - JDBC data source,
// 2 - Java DataSource object, 3 - Connection object, 4 - ResultSet object.
// One or multiple data sources can be included at a time.

// JDBC data source


"ds":"Data Source 1", // Data source name
"uid":"xxx", // DB user name
"pwd":"xxx", // DB user password
"type":"0", // Indicates the data source type.
"url":"xxx", // JDBC URL. For example, "url":"jdbc:oracle:
thin:@127.0.0.1:1521:ora8i".
"driver":"xxx" // JDBC driver. For example, "driver":"oracle.
jdbc.driver.OracleDriver".
},
{

// Java DataSource object/Connection object/ResultSet object.


// Users should define request or session attribute, then the
attribute
// key is the one defined in the request.
// For example, write user.jsp as follows:
//
// String key = "Rst";
// java.sql.ResultSet rst = null;
// rst = // get result set object from user own business logic
// request.setAttribute("Rst", rst);
//
// Then the key would be that "key":"Rst".
// The above example is based on ResultSet object. It also
applies to the other two types.
//
"ds":"Data Source 2", // Data source name
"type":"2/3/4", // Indicates the data source type.
"key":"xxx" // Request attribute object name, included in
request or session

Here is an example of the complete URL without URL encoding to make it easier to read:
http://localhost:8888/webreport/studio/entry/run.jsp?jrd_report={"name":"/SampleReports/
studioreport.wls","ver":"-1"}
&jrd_catalog={"name":"/SampleReports/SampleReports.cat","ver":"-1"}&jrd_param$=
{"P_Coutry":"USA"}
&jrd_datasources=[{"ds":"Data Source
1","uid":"xxx","pwd":"xxx","type":"0","url":"xxx","driver":"xxx"},
{"ds":"Data Source 2","type":"2","key":"xxx"}]

If you use absolute resource path, you need add the property "real":"true" for the path. For
example,
jrd_report={"name":"C:\JReport\Server\jreports\SampleReports\studioreport.wls","ver":"-
1","real":"true"}
&jrd_catalog={"name":"C:\JReport\Server\jreports\SampleReports\SampleReports.
cat","ver":"-1","real":"true"}

Running studio reports to other formats via URL


To run a studio report to other formats than to JReport Studio, you can make use of jrs commands and
jrs.result_type which is used to specify the type:
jrs.result_type=1 (HTML) or 2(PDF) or 3(Text) or 4(Excel) or 5(PostScript) or 6(Rich Text) or 7(XML)
For example, to run a studio report to PDF:
http://localhost:8888/jinfonet/runReport.jsp?jrs.cmd=jrs.web_vw&jrs.report=%2fSampleReports%
2fProducts.wls
&jrs.catalog=%2fSampleReports%2fSampleReports.cat&jrs.result_type=2
Integrating with a Java Application Server
JReport Server is implemented using Java Servlet technology and Java Server Pages (JSP). These
servlets and JSP pages enable you to work with any Java EE compliant application server and
administer JReport Server remotely through a web browser.
In order to deploy to an application server, you first have to create a Web Application Archive (WAR)
file or an Enterprise Application Archive (EAR) file to include a JReport Server, and then use the
application server deployment tools to deploy the WAR/EAR file.
This chapter covers the following:
● Seamless integrated security solution

● Building a WAR/EAR file to include a self-contained JReport Server

● Deploying JReport Server to a Java application server

● Integrating remote JReport Server

Note: JReport Web and JReport Studio slather dynamic classes, so you probably encounter
"OutOfMemoryError: PermGen space" problem when working with them after integration. To solve the
problem, you need to add -XX:MaxPermSize=256m to JVM or set the number to a bigger one according
to your case.
Seamless integrated security solution
As a reporting server, JReport Server protects information via authentication and authorization
processes. Furthermore, JReport allows a web application to embed this reporting solution in it
seamlessly not only on UI but also with the Java EE technology. In this way, the seamless integrated
security solution becomes one of the key solutions of JReport Server.
There are all kinds of scenarios on using JReport solution. However, they can all be categorized into the
following two types according to the location of the JReport Server instance.

JReport Server instance is located in the same JVM as the web application

In this scenario, the application includes JReport Server JAR files into the same JVM, and it also
includes JReport built-in servlets and JSPs which handle DHTML and other reporting services, for
example, scheduling report sets.
Description of the illustration
In this scenario, the client (HTTP client) most of time will send a request to the portal, JSP or Servlet of
the web application, and the web application can either call the public Server API to the server instance
directly to run a report set and output a report set result to file system, or it can re-direct the request
to the JReport services provided by the JReport JSPs and Servlets, for example the DHTML JSP and
Servlet. JReport JSPs/Servlets will first make sure the request is authenticated and authorized. After
which, it will call the internal API method against the JReport Server Instance in the same JVM to fulfill
the requirement and return suitable information to the client via JSPs or internally generated output
steam.
In the illustration above, you can see that the HTTP client can send a request directly to the application
JSP/Servlets or JReport JSPs/Servlets. Before a response is made by the JReport JSP and Servlet, an
Auth Check is performed to authenticate the session and then authorize the action. Normally, the built-
in authenticator and authorization instance of JReport Server (Instance) is called to perform these
checking actions. However, if the application wants to control the process, the web application
developer can set up the configuration to ensure that the customized authenticator and authorization
instance is used instead.
Pay attention to the RED box: External Authorized instance. This Java class implements JReport jet.
server.api.http.HttpExternalAuthorized to provide the authenticated user ID from the session. If this
Instance returns a user ID, JReport will pass it to its authenticator to check if it is valid. If the user ID
is valid for JReport, JReport will qualify the session of the request, and will not ask for a login again. If
this external authorized instance does not return a user ID, JReport will respond the request by asking
for a login.
The other RED box - Authenticator and Authorizer instance, can be provided by implementing two other
interfaces:
jet.server.api.custom.security.AuthenticationProvider and jet.server.api.custom.security.
AuthorizationProvider.
The AuthenticationProvider is used to authenticate the user ID, including whether or not the user ID is
valid. The AuthorizationProvider is used to check the privileges of the user against the action that the
user requests.
During the auth check process, if the external authorized instance returns a user ID of the session,
JReport auth check will continue to send the user ID to the AuthenticatorProvider to check if it is valid
or not. If the user is valid, the auth check will qualify the session of the request, and then continue to
check if the action is valid for the user by asking the AuthorizationProvider instance.
In general, there is an authentication callback via the implemented interface of External Authorized.
Two security check providers can be implemented to seamlessly integrate JReport security into the
application.

JReport Server instance is located in a different JVM from the web


application
From the web application itself, the architecture is not changed. However, the way that it uses the
JReport solution is different since the JReport Server Instance is outside of the Web application server.
Inside of the Web Application, the instance is RMI server being called by the web application server or
JReport built-in JSP/Servlets for the RMI solution.
Building a WAR/EAR file to include a self-contained JReport
Server
There are two ways of creating a WAR or EAR to include a self-contained JReport Server:
● Create a WAR/EAR file using the provided tool makewar.bat/makewar.sh after you have installed a
JReport Server. If you are not familiar with JReport Server, it is better to use this way.

● Create a WAR manually. The method is no longer needed but is still available in this release in case
you would like to take it.

The self-contained JReport Server is based on a library. The library contains all class packages required
by the JReport Server runtime, such as jrenv.jar, JRESServlets.jar, JREngine.jar, and JRWebDesign.jar.
In the library, jrenv.jar contains the entire JReport runtime environment, and is the key to the self-
contained integration solution. With the self-contained solution, you do not have to specify the JReport
Server installation root as the reporthome.
When you create a JReport Server WAR/EAR file using the provided tool, the jrenv.jar package will be
automatically put into the WAR/EAR, and will be extracted to the specified reporthome when initializing
JReport Server.
The following is the structure of the jrenv.jar package:
jrenv.jar
workspace/ -- This is the root folder.
bin/ -- This folder contains the license file jslc.dat and configuration files, such as
LogConfig.properties and redirect.properties.
lib/ -- This folder contains jar files needed by applets, such as view12.jar and chart.jar.
template/ -- This folder contains template files.
profiling/report/ -- This folder contains profiling report set files.
jreports/ -- This folder contains demo report sets or pre-published report sets.
db/ -- This folder contains demo database for demo report sets.
help/ -- This folder contains help documents.
The bin/, lib/, and template/ folders are necessary for the JReport runtime, while the profiling/,
jreports/, db/ and help/ folders are optional.
Note: There is a parameter in self-contained WAR/EAR - autoDetectServletPath. It is used to
dynamically detect and modify servlet path based on context path of self-contained WAR/EAR when
deploying the WAR/EAR to a J2EE application server. This property is enabled by default, and the actual
servlet path will be concatenating "context path" with "default servlet path" set in server.properties. If
you do not want this way, you can disable the feature using either of the following ways:
● Before making your WAR/EAR, set the parameter autoDetectServletPath to false in makewar.xml
which is located in <install_root>\bin.

● If the WAR/EAR has already been built, go to web.xml, set this parameter autoDetectServletPath to
false.

The following are topics covered in the section:


● Building a JReport Server WAR/EAR by tool

● Building a JReport Server WAR manually (deprecated)

● Four ways of integrating JReport Server


Building a JReport Server WAR/EAR by tool
A tool based on the Apache Ant project is provided by JReport Server to build JReport Server WAR/EAR
files which contain the full JReport Server runtime environment. The WAR/EAR files can be deployed to
any Java EE compliant application server without having to specify a JReport Server installation root as
the reporthome.
You can use the default settings to generate a JReport Server WAR/EAR, or you can customize the
reporthome and data source for JReport Server before generating the WAR/EAR using the provided tool.
● Creating a JReport Server WAR/EAR

● Specifying reporthome for JReport Server in a Java EE environment

● Specifying a data source for JReport Server in a Java EE environment


Creating a JReport Server WAR/EAR
JReport Server provides a tool for building a WAR or EAR file. The tool is makewar.bat/makewar.sh,
and makewar.xml in <install_root>\bin.

makewar.xml
This file can be used to specify the following:
● Targets specified to build the WAR/EAR file. They start with the tag <target name="xxx"...>. You
can modify the target names. By default, the main targets in the makewar.xml are as follows:
❍ Making the server runtime environment

❍ Making the WAR file for normal or remote integration

❍ Making the EAR file

● Temp directories.
❍ The temp directory used to save the temp files when building the WAR/EAR. By default, it is
<install_root>\bin\distribute\temp.

❍ The directory which is used to store the generated WAR/EAR file. By default, it is <install_root>
\bin\distribute.

● The deployment descriptors, such as web.xml and application.xml. The configuration information,
such as the database connection information for the WAR/EAR file is stored in these files.

makewar.bat/makewar.sh
The batch/script file used to build a JReport Server WAR/EAR according to the target specified in
makewar.xml.
Usage
makewar.bat/makewar.sh [Target Name] [-Dpredeploy=ReportFolder] [-Dreporthome=XXX] [-
Djrs.remote.host=XXX] [-Djrs.remote.rmiport=XXX] [-Djrs.rmi.auth_file=XXX]

Options
● Target Name
The following targets can be performed:
❍ buildWar - Specifies to build the JReport Server WAR. It is the default target.

❍ buildEar - Specifies to build the JReport Server EAR.

❍ buildRemoteWar - Specifies to build the JReport Server WAR for remote integration.

● -Dpredeploy=ReportFolder
Allows you to deploy the report sets and catalogs under ReportFolder to the WAR/EAR file.
● -Dreporthome
Specifies the reporthome that will be set into web.xml in the WAR/EAR. If this argument is not set,
reporthome will be decided when the WAR/EAR is loaded by the application server and the location
will be %user.home%/.jreport/default. This argument takes effect only when the target name is
buildWar, buildEar, or buildWar4WS.

● -Djrs.remote.host
Specifies the server's RMI host when building a WAR for remote integration. This argument takes
effect only when the target name is buildRemoteWar.

● -Djrs.remote.rmiport
Specifies the server's RMI port when building a WAR for remote integration. This argument takes
effect only when the target name is buildRemoteWar.

● -Djrs.rmi.auth_file
Specifies the RMI auth file with the absolute file path when building a WAR for remote integration.
This argument takes effect only when the target name is buildRemoteWar.

Examples
● Builds the JReport Server WAR file which is defined by makewar.xml (the default target). The
generated WAR file is saved to the default directory <install_root>\bin\distribute.
makewar.bat

● Builds the JReport Server WAR file, and saves the generated WAR file jreport.war to the specified
reporthome.
makewar.bat buildWar -Dreporthome=C:\JReport

● Builds the JReport Server EAR file, and saves the generated EAR file jreport.ear to the default
directory <install_root>\bin\distribute.
makewar.bat buildEar

● Builds the JReport Server WAR file, and deploys the report sets and catalogs in C:\myReport to the
WAR file. The generated WAR file jreport.war will be saved in the default directory <install_root>
\bin\distribute.
makewar.bat buildWar -Dpredeploy=c:\myReport

● Builds the JReport Server WAR file as defined by makewar.xml for remote integration. The generated
WAR file is saved to the default directory <install_root>\bin\distribute.
makewar.bat buildRemoteWar -Djrs.remote.host=127.0.0.1 -Djrs.remote.rmiport=1129 -
Djrs.rmi.auth_file=C:\JReport\Server\bin\rmi.auth
Specifying reporthome for JReport Server in a Java EE environment
JReport Server requires a reporthome as its working space to hold the entire JReport runtime
environment, including the server properties, configuration files and resources. The package jrenv.jar
that contains the entire JReport runtime environment will be extracted to the specified reporthome
when initializing JReport Server. The reporthome can be any location on the disk where JReport Server
has read and write privileges.
You do not have to specify a reporthome for JReport Server since it will create a default reporthome
location <user.home>/.jreport/default.

However, JReport Server enables you to customize the reporthome location before creating the JReport
Server WAR/EAR using the provided tool. You can either specify reporthome directly or specify the
implementation of the jet.server.api.http.CustomizedServerEnv interface.
Note: Make sure that the reporthome for the integrated JReport Server is different from that of the
standalone JReport Server.

Interface CustomizedServerEnv
The jet.server.api.http.CustomizedServerEnv interface can be used for specifying the JReport Server
reporthome and for setting the server properties in a Java EE environment. It contains two methods:
● String getReportHome()

● Properties getServerProperties()

If you specify the implementation of this interface, JReport Server will obtain not only reporthome but
also server properties.

Three ways of specifying reporthome


There are three ways of specifying reporthome directly or the implementation of the jet.server.api.http.
CustomizedServerEnv interface:
● By JVM -D parameter.
Set the JVM option -Dreporthome before starting the application server, for example:
-Dreporthome=/home/jreport

● Invoking the method jet.server.api.http.HttpUtil.initEnv(Properties props).


For example:
Properties props = new Properties();
props.setProperty("reporthome", "/home/test/JReport");
HttpUti.initEnv(props);

● Using ejb-jar.xml/web.xml.

The following introduces several methods of specifying reporthome or implementation of


CustomizedServerEnv:
● Using the default reporthome

● Specifying reporthome directly in web.xml or ejb-jar.xml

● Using the default implementations of jet.server.api.http.CustomizedServerEnv

● Using a customized implementation of jet.server.api.http.CustomizedServerEnv


Using the default reporthome
If you do not specify a reporthome, the self-contained JReport Server will create a default working
folder. The default working folder is <user.home>/.jreport/default, where <user.home> is the system
property user.home retrieved from Java VM. The JReport Server has the Read and Write privileges in
this directory. Different OSs have different real paths for <user.home>. For example,
For Windows: C:\Documents and Settings\username

For Unix/Linux: /home/username

Notes:
● user.home is a system property of the Java VM (-Duser.home=xxx). So you can also specify different
folders for this JVM option.

● If JReport Server is running on Windows as a service, the username is the user who installed the
service or the specified logon user for the service.

● If JReport Server is running as a Unix/Linux Daemon, you can specify the JVM system property -
Duser.home in the script file that starts JReport Server.
Specifying reporthome directly in web.xml or ejb-jar.xml
It is recommended that you use the <env-entry></env-entry> tags to specify the reporthome directly
in the target "web.xml.norpthome" in the makewar.xml file or in ejb-jar.xml. Also, in the target "web.
xml.filter", you can specify the reporthome using the <context-param></context-param> tags.

Specifying the reporthome for WAR

You can use one of the two methods listed below to specify the reporthome for WAR:
● In the makewar.xml file, use the <env-entry></env-entry> tags to specify the reporthome in the
target "web.xml.norpthome", and then uncommented the setting. For example:
<env-entry-name>jreport.rpthome</env-entry-name>
<env-entry-value>/home/jreport</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>

This is the recommended way to set reporthome since the <env-entry></env-entry> tags are also
supported in ejb-jar.xml (if you call the Server API in your EJB).

● In the makewar.xml file, use the <context-param></context-param> tags to specify the


reporthome in the target "web.xml.filter", for example:
<context-param>
<param-name>reporthome</param-name>
<param-value>/home/jreport</param-value>
</context-param>

Specifying the reporthome for EAR

The same methods can be used to specify the reporthome of building the EAR file as of building the
WAR file. However, because you can wrap WAR and EJB in the EAR file, you should ensure that you put
the reporthome information either in the target "web.xml.norpthome" in the makewar.xml file (for the
web module) or in ejb-jar.xml (for the EJB module).
In ejb-jar.xml, use the <env-entry></env-entry> tags to specify the reporthome. For example,

<env-entry>
<env-entry-name>jreport.rpthome</env-entry-name>
<env-entry-value>/home/jreport</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry>
Using the default implementations of jet.server.api.http.CustomizedServerEnv
The self-contained JReport Server provides two implementations of CustomizedServerEnv. They are jet.
server.DefaultServerEnv and jet.server.MultipleInstanceServerEnv.
jet.server.DefaultServerEnv
If you use this implementation, you will not need to specify it in the target "web.xml" in the makewar.
xml or in ejb-jar.xml, since it can find the customized reporthome from the <context-param></
context-param> tags of the target "web.xml" or the <env-entry></env-entry> tags of web.xml or ejb-
jar.xml.
jet.server.MultipleInstanceServerEnv
This implementation is extended from DefaultServerEnv. It enables finding the reporthome not only
from <context-param></context-param> or <env-entry></env-entry> tags, but also from an
external file <user.home>/.jreportrc. However, this implementation has three main limitations. They
are:
● This implementation must be clearly specified with the <env-entry></env-entry> tags in the target
"web.xml" in the makewar.xml or in ejb-jar.xml, as follows:
<env-entry>
<env-entry-name>jreport.servenv</env-entry-name>
<env-entry-value>jet.server.MultipleInstanceServerEnv</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

● The JReport Server must be initialized with JRServerContextListener from a Web module.
Since in cases of deploying multiple JReport Server instances in one Java EE application server
without touching the WAR, such as extracting the WAR, setting reporthome and rebuilding the WAR,
JReport Server has to use ServletContext to generate an ID for every instance. JReport Server
retrieves javax.servlet.context.tempdir from ServletContext by invoking the getAttribute(String)
method, and then uses this value to generate the instance ID.
For detailed information, see Java Servlet Specification Version 2.3/2.4 SRV.3.7.1 Temporary
Working Directories.

● The <user.home>/.jreportrc file must be created by JReport Server. You can only edit the file to
change the reporthome after the JReport Server initialization.
Since the instance ID is generated based on a hash code retrieved from javax.servlet.context.
tempdir, it cannot be pre-assigned, and is therefore impossible for you to create the <user.home>/.
jreportrc file. However, once the file has been created, you can edit it to change the reporthome for
each instance. The RC file can hold multiple records. The record format should be as follows:
jreport.rpthome.<instanceID>=the-instance-report-home

The instanceID is created by JReport Server during its first initializing. It is a string of HEX encoded
hash value. For example:
jreport.rpthome.12345678=/home/user1/.jreport/instance.12345678
jreport.rpthome.12345abc=/home/user1/.jreport/instance.12345abc

If JReport Server cannot get the reporthome from CustomizedServerEnv, it will create a default
reporthome in <user.home>/.jreport/default.

The following is an example of specifying reporthomes when deploying multiple server instances using
jet.server.MultipleInstanceServerEnv:
Example: Specifying reporthomes when deploying multiple server instances
JReport Server provides an internally implemented class of the jet.server.api.http.
CustomizedServerEnv interface - jet.server.MultipleInstanceServerEnv which supports multiple JReport
Server instances in one Java EE application server. The reporthome of each instance can be assigned
by the class automatically. To do this, follow the steps below:
1. In the file makewar.xml, use the <env-entry></env-entry> tags to specify jet.server.
MultipleInstanceServerEnv in the target "web.xml". For example:
<env-entry>
<env-entry-name>jreport.servenv</env-entry-name>
<env-entry-value>jet.server.MultipleInstanceServerEnv</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

2. Since different JReport instances cannot access the same JReport Server system database at the
same time, you will need to create a dbconfig.xml file to store the connection information, and put
it in jrenv.jar in workspace\bin (you can find the jrenv.jar file after extracting jreport.war) for
each JReport Server WAR/EAR.
For detailed information about modifying the dbconfig.xml, see Configuring the server database.

3. When the JReport Server WAR/EAR has been deployed, JReport will create a file .jreportrc in
<user.home>, and each JReport instance will read its reporthome from this file. This file must be
created by JReport Server, however, you can edit it in order to change the reporthome after it has
been created.
Using a customized implementation of jet.server.api.http.CustomizedServerEnv
You can implement the interface and add your class to the generated WAR/EAR file, then use the <env-
entry></env-entry> tags to specify your implemented class in the target "web.xml" in the makewar.
xml file or in ejb-jar.xml.
The following is an example of specifying a customized implementation of CustomizedServerEnv in the
target web.xml in the makewar.xml file or in ejb-jar.xml using the <env-entry></env-entry> tags.
Here the customized implementation of CustomizedServerEnv is named my.JReportServerEnv.
<!-- JReport Server calls my.JReportServerEnv to obtain reporthome
and server properties.-->
<env-entry>
<env-entry-name>jreport.servenv</env-entry-name> <!-- must be jreport.servenv-->
<env-entry-value>my.JReportServerEnv</env-entry-value> <!-- your class name -->
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

Notes:
● JReport Server will retrieve the reporthome and properties from your implemented class when the
WAR/EAR file has been deployed.

● The properties returned from getServerProperties() can be the properties listed in server.properties
file in the directory <install_root>\bin, JVM System properties, or self-defined ones.
Specifying a data source for JReport Server in a Java EE environment
See Configuring the server database when integrating with an application server for detailed
information.
Building a JReport Server WAR manually (deprecated)
This section introduces a method that has been used in earlier versions. If using this method, you will have to
specify the JReport Server installation root as the reporthome unless you make the WAR be a self-contained
solution.
This section takes creating a WAR file on Unix for example. The instruction is applicable to both Unix and
Windows platforms. However, the paths for Windows should use the Windows format, for example, C:\JReport
\Server, while paths for Unix should use the Unix format, for example, /opt/JReport/Server.

It is assumed that JReport Server has been installed to /opt/JReport/Server.

Take the following steps to build a JReport Server WAR manually:


1. Create a new directory jreport in the JReport Server installation root: /opt/JReport/Server/jreport.

2. Create a sub directory WEB-INF in jreport: /opt/JReport/Server/jreport/WEB-INF.

3. Create a web.xml file in the WEB-INF directory as follows:


<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems,
Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<listener>
<listener-class>jet.server.servlets.JRServerContextListener</listener-class>
</listener>

<servlet>
<servlet-name>jrserver</servlet-name>
<servlet-class>jet.server.servlets.JRServlet</servlet-class>
</servlet>

<servlet>
<servlet-name>sendfile</servlet-name>
<servlet-class>jet.server.servlets.SendFileServlet</servlet-class>
</servlet>

<servlet>
<servlet-name>dhtml</servlet-name>
<servlet-class>jet.web.dhtml.DHTMLlet</servlet-class>
</servlet>

<servlet>
<servlet-name>help</servlet-name>
<servlet-class>jet.web.dhtml.JHelplet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>jrserver</servlet-name>
<url-pattern>/jrserver/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>sendfile</servlet-name>
<url-pattern>/sendfile/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>dhtml</servlet-name>
<url-pattern>/dhtml/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>help</servlet-name>
<url-pattern>/help/*</url-pattern>
</servlet-mapping>

</web-app>

4. Create a directory lib in the jreport/WEB-INF directory:


mkdir lib

5. Create a directory pages in the jreport/WEB-INF/lib directory:


mkdir lib/pages

6. Copy all of the files in /opt/JReport/Server/lib/pages to the jreport/WEB-INF/lib/pages directory:

cp /opt/JReport/Server/lib/pages/* lib/pages

7. Create a jar file to include the resources folder which is located in /opt/JReport/Server and name it
languages.jar. For example, run the following command:
jar -cvf languages.jar resources

Then put the languages.jar in /opt/JReport/Server/lib.

8. Copy the following jar files from /opt/JReport/Server/lib to the jreport/WEB-INF/lib directory:
commons-codec-1.2.jar, jai_codec.jar, jai_core.jar, JREngine.jar, JRESServlets.jar, JRWebDesign.jar,
languages.jar, log4j-1.2.8.jar, sac.jar, tar.jar, xercesImpl.jar, xml-apis.jar.
If you want to export reports to the following formats, you should copy the corresponding jar to the
jreport/WEB-INF/lib directory:

❍ To e-mail or use the e-mail Notification function, copy activation-1.1.jar and mail-1.4.jar.

❍ To FTP, copy commons-net-ftp-2.0.0.jar.

❍ To PDF and DHTML, copy itext_1.5.4.jar.

❍ To Excel, copy poiHSSF_151.jar.

9. Copy the index.htm file and the admin, dhtmljsp, images, javascript, jinfonet, skin, and style folders from /
opt/JReport/Server/public_html to the /opt/JReport/Server/jreport directory:

cp -r /opt/JReport/Server/public_html/* /opt/JReport/Server/jreport

Notes:
❍ The jsp files within the admin folder are used by the JReport Administration pages. Those within the
dhtmljsp folder are used when viewing reports in the DHTML format.

❍ If you copy index.htm and these folders mentioned above to a sub folder in /opt/JReport/Server/
jreport, for example, /opt/JReport/Server/jreport/sub, to view reports in DHTML format, you need:

■ Modify the server.properties file:


web.skin.dir=/jreport/sub/skin

■ Uncomment the following lines in dhtml.jsp in the dhtmljsp folder and make it adapt to the environment
as follows:
dhtmlConfig.setDHTMLContextPath(SessionID,"http://localhost:8080/jreport/sub");
dhtmlConfig.setDHTMLJspUrl(SessionID,"/jreport/sub/dhtmljsp/");
dhtmlConfig.setDHTMLServletUrl(SessionID, RptSetId, "/jreport/dhtml");

■ In the step 10, edit the index.htm file like this:


<FRAME name="ind" src="/jreport/sub/jinfonet/index.jsp" frameborder="0">

Then go to step 11.

10. Edit the index.htm file and add the context path /jreport to the src tag. Note that the path separator
character is the Unix style "/" when referencing JSP. The result should be as follows:
<FRAME name="ind" src="/jreport/jinfonet/index.jsp" frameborder="0">

11. Using the following command to create a WAR file named jreport.war:
jar -cvf jreport.war index.htm admin dhtmljsp images javascript jinfonet skin style WEB-INF

Note: The jar utility is in the Java home bin directory. If it is not on your path you must call jar with the
entire path, for example, /opt/jdk1.6.0_17/bin/jar.exe.

To make the WAR be a self-contained solution


To make the WAR include a self-contained JReport Server, except for the above procedure, you need create jrenv.
jar and then put it in the jreport/WEB-INF/lib directory before creating the WAR.

Use either way to create the jrenv.jar:


● By the makewar.bat/makewar.sh tool
For example: run the command makewar jrenv.jar

● Creating manually
Make sure all necessary contents are included and then use a proper tool to package them into a jar file.

See also Building a WAR/EAR file to include a self-contained JReport Server for details about the structure of the
jrenv.jar.
Four ways of integrating JReport Server
You can either create a JReport Server WAR/EAR, or create your WAR/EAR and embed a self-contained
JReport Server inside it. The following are four ways of building a WAR/EAR file in order to include a
self-contained JReport Server:
● Integrating by building a JReport Server WAR

● Integrating by building a JReport Server EAR

● Integrating by building a user WAR and embedding a self-contained JReport Server

● Integrating by building a user EAR and embedding a self-contained JReport Server


Integrating by building a JReport Server WAR
The self-contained JReport Server can be deployed as a single WAR file. After specifying the reporthome and
configuring the database information, you can build the WAR file using the tool makewar.bat/makewar.sh in
<install_root>\bin. To generate the WAR file, execute the command with the buildWar parameter. For
example:
makewar.bat/makewar.sh buildWar

Structure of the JReport Server WAR


For example, here you can create a JReport Server WAR file named jreport.war. The structure of the JReport
Server WAR is as below:
jreport.war
WEB-INF/
web.xml
lib/ -- This folder contains all resources in the JReport Server library.
admin/ -- This folder contains JSP files for the JReport Administration page.
jinfonet/ -- This folder contains JSP files for the JReport Console page.
dhtmljsp/ --This folder contains JSP files for viewing DHTML reports.

WEB-INF/web.xml
The following is the default content in the web.xml file of the JReport Server WAR:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems,
Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<listener>
<listener-class>jet.server.servlets.JRServerContextListener</listener-class>
</listener>

<servlet>
<servlet-name>jrserver</servlet-name>
<servlet-class>jet.server.servlets.JRServlet</servlet-class>
</servlet>

<servlet>
<servlet-name>sendfile</servlet-name>
<servlet-class>jet.server.servlets.SendFileServlet</servlet-class>
</servlet>

<servlet>
<servlet-name>dhtml</servlet-name>
<servlet-class>jet.web.dhtml.DHTMLlet</servlet-class>
</servlet>

<servlet>
<servlet-name>help</servlet-name>
<servlet-class>jet.web.dhtml.JHelplet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>jrserver</servlet-name>
<url-pattern>/jrserver/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>sendfile</servlet-name>
<url-pattern>/sendfile/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>dhtml</servlet-name>
<url-pattern>/dhtml/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>help</servlet-name>
<url-pattern>/help/*</url-pattern>
</servlet-mapping>

</web-app>
Integrating by building a JReport Server EAR
The self-contained JReport Server can be deployed as a single EAR file. After specifying the reporthome
and configuring the database information, you can build the EAR file using the tool makewar.bat/
makewar.sh in <install_root>\bin. To generate the EAR file, execute the command with the buildEar
parameter, for example:
makewar.bat/makewar.sh buildEar

Structure of the JReport Server EAR


For example, here you can create a JReport Server EAR file named jreport.ear. The structure of the
JReport Server EAR is as below:
jreport.ear
META-INF/application.xml
jreport-lib/ -- This folder contains all resources in the JReport Server library.
jreport.war
META-INF/MANIFEST.MF
WEB-INF/web.xml
admin/
jinfonet/
dhtmljsp/

META-INF/application.xml
Following the Java EE standard, you should configure the META-INF/application.xml file before
deploying the EAR:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
"http://java.sun.com/dtd/application_1_3.dtd">

<application>
<display-name>Self-contained JReport Server</display-name>
<module id="JReportWebModule">
<web>
<web-uri>jreport.war</web-uri>
<context-root>jreport</context-root>
</web>
</module>
</application>
META-INF/MANIFEST.MF of Web module
Since the JReport Server library is included in jreport-lib of the EAR layer, you must specify Class-Path
in the META-INF/MANIFEST.MF file. The contents below should be included in the MANIFEST.MF file:
Class-Path: jreport-lib/jrenv.jar jreport-lib/JRESServlets.jar jreport-lib/JREngine.
jar ...

Class-Path is a list of all packages in the JReport Server library. Each package name should start with
the prefix jreport-lib/, and you should use a blank space to separate package names.

WEB-INF/web.xml of Web module


The contents in the web.xml of the JReport Server EAR are the same as the contents in web.xml of the
JReport Server WAR. See the section Integrating by building a JReport Server WAR for details.
Integrating by building a user WAR and embedding a self-contained JReport Server
You can embed a self-contained JReport Server into your WAR.

Structure of the user WAR


For example, here you can create a WAR named MyApp.war, and then embed a self-contained JReport
Server inside it. The structure of your WAR may be as follows:
MyApp.war
WEB-INF/
web.xml
lib/ -- This folder contains all resources in the JReport Server library and your other jar
files.
classes/ -- This folder contains your servlet classes.
../../asset/images/
jsp/
If you put the JReport WAR related JSPs to a sub folder, for example, jreport, and this time the
structure of your WAR may be as follows:
MyApp.war
WEB-INF/
web.xml
lib/ -- This folder contains all resources in the JReport Server library and your other jar
files.
classes/ -- This folder contains your servlet classes.
../../asset/images/
jreport/
admin/
dhtmljsp/
jinfonet/
...
To run JReport reports, you must do the following configurations:
● Add the following entry into web.xml:
<context-param>
<param-name>autoDetectServletPath</param-name>
<param-value>false</param-value>
</context-param>

WEB-INF/web.xml in the user WAR


You should add listener into the web.xml as follows:
<listener>
<listener-class>jet.server.servlets.JRServerContextListener</listener-class>
</listener>
Integrating by building a user EAR and embedding a self-contained JReport Server
You can embed a self-contained JReport Server into your EAR in order to use JReport Server from EJB.

Structure of the user EAR


For example, here you can create an EAR named MyApp.ear and then embed a self-contained JReport
Server inside it. In the EAR, there is an EJB module used for initializing JReport Server. The structure of
your EAR may be as follows:
MyEAR.ear
META-INF/application.xml
jreport-lib/ -- This folder contains all resources in the JReport Server library
MyEjb.jar
META-INF/
MANIFEST.MF
ejb-jar.xml
com/

META-INF/application.xml
Following the Java EE standard, you should configure the META-INF/application.xml file before
deploying your EAR:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
"http://java.sun.com/dtd/application_1_3.dtd">
<application>
<display-name>EJB with Embedded JReport Server</display-name>
<module id="MyEJBModule">
<ejb>MyEjb.jar</ejb>
</module>
</application>

META-INF/MANIFEST.MF of EJB module


Since the JReport Server library is included in the jreport-lib folder of the EAR layer, you must specify
Class-Path in the META-INF/MANIFEST.MF file. The contents below should be included in the MANIFEST.
MF file:
Class-Path: jreport-lib/jrenv.jar jreport-lib/JRESServlets.jar jreport-lib/JREngine.
jar ...

Class-Path is a list of all packages in the JReport Server library. Each package name should start with
the prefix jreport-lib/, and you should use a blank space to separate package names.

META-INF/ejb-jar.xml
If you do not want to set the reporthome for the embedded self-contained JReport Server, but instead
want to use JReport's default settings, there is no requirement for configuring the ejb-jar.xml.
However, if you want to control the reporthome of the JReport Server, or specify a JNDI data source for
JReport Server to use, you should first configure the ejb-jar.xml file using the <env-entry></env-
entry> tags.

Here is an example:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
"http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar id="ejb-jar_ID">
<display-name>MyEJB</display-name>
<enterprise-beans>
<session id="JReportEJB">
<ejb-name>JRptServer</ejb-name>
<home>demo.JRptServerHome</home>
<remote>demo.JRptServer</remote>
<ejb-class>demo.JRptServerBean</ejb-class>
<session-type>Stateless</session-type>

<!-- Specify JReport reporthome directly


<env-entry>
<env-entry-name>jreport.rpthome</env-entry-name>
<env-entry-value>/home/jreport</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->

<!-- JReport callback my CustomizedServerEnv -->


<env-entry>
<env-entry-name>jreport.servenv</env-entry-name>
<env-entry-value>demo.JReportServerEnv</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

<transaction-type>Bean</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
Deploying JReport Server to a Java application server
After you have created a WAR/EAR file that includes a self-contained JReport Server, you can deploy
the WAR/EAR to an application server following the deploying instructions of the application server.
This section provides examples of deploying JReport Server to several leading Java EE application
servers. The instructions are applicable to Unix, z/Linux and Windows platforms. However, the paths
for Windows should use the Windows format, for example, C:\JReport\Server, while paths for Unix
and z/Linux should use the Unix and z/Linux format, for example, /opt/JReport/Server.

Before going on to the next sections, you should already have reviewed Building a WAR/EAR file to
include a self-contained JReport Server.

The following examples are based on the Unix platform with one exception of Sun Application Server on
Windows:
● Deploying to IBM WebSphere 7

● Deploying to WebLogic 11g Release 1 (10.3.2)

● Deploying to Tomcat 6

● Deploying to JBoss 5.0.1

● Deploying to OC4J 10g R3 (10.1.3.5.0)

● Deploying to Sun Java™ System Application Server Platform Edition 8.2

● Deploying to GlassFish V3

Note: It is supported if you change the location of the two folders, skin and dhtmljsp, which are in the
\public_html directory in the application server side. What is need is creating a file jrserver.properties
in the \WEB-INF directory and then adding the following two properties and providing the correct paths
(the context root is excluded):
web.skin.dir
web.dhtml_jsp_path
Deploying to IBM WebSphere 7
The example directory paths listed below are based on Solaris or Linux (referred to as Unix). The
instructions are applicable to both Unix and Windows installations; however, the format of the paths for
Windows would use the Windows format, i.e. C:\JReport\Server instead of /opt/JReport/Server.

It is assumed that:
● WebSphere 7 is installed in the /opt/IBM/WebSphere7/AppServer directory.

● The JReport Server WAR file jreport.war is located in the /opt/JReport/Server/bin/distribute


directory. To create the WAR file, refer to the instructions in Building a WAR/EAR file to include a self-
contained JReport Server.

To deploy JReport Server to IBM WebSphere:


1. Start IBM WebSphere. Use the shell script /opt/IBM/WebSphere7/AppServer/bin/startServer.
sh <servername> to start the server. The default server name is server1.

2. Access the WebSphere Administrative Console by using the URL: https://hostname:9046/ibm/


console, where the hostname is host name or IP address, and 9046 is the port number.

3. The login requires user name and password.

4. After successfully log in, expand the Applications node, select Application Types and then
Websphere enterprise applications.

5. Click Install.

6. Click Browse to select the jreport.war file, and then click Next.

7. Keep clicking Next until you see the requirement for specifying context root.

8. In the Context Root field, type a context path such as /jreport/, then click Next.

9. Click Finish on the Summary page. The installing process may take several minutes, wait until the
process is completed.

10. Click Save.

11. Select jreport.war and then click Start to start JReport Server.

12. Access JReport Server using the following URL:


http://<hostname>:9446/jreport/jrserver
http://<hostname>:9446/jreport/admin/index.jsp
http://<hostname>:9446/jreport/jinfonet/index.jsp

Troubleshooting
If you run into problems when using JReport Server in IBM WebSphere, send the log files of JReport
Server to [email protected]. The following procedure illustrates how to generate the log files:
1. Type -Dlogall=true in the Generic JVM arguments field. Go to Application servers > server1 >
Process Definition > Java Virtual Machine to access this field.

2. Restart the application server, and try to reproduce the problem. After reproducing the problem,
send [email protected] the log files in reporthome/logs.

The WebSphere log files may also help to identify the problem. The most useful one is in /opt/
IBM/WebSphere7/AppServer/profiles/AppSrv01/logs/server1/SystemErr.log.
Deploying to WebLogic 11g Release 1 (10.3.2)
The example directory paths listed below are based on Solaris or Linux (referred to as Unix). The
instructions are applicable to both Unix and Windows installations; however, the format of the paths for
Windows would use the Windows format, i.e. C:\JReport\Server instead of /opt/JReport/Server.

It is assumed that:
● WebLogic 11g Release 1 (10.3.2) is installed in the /opt/bea directory. This is referred to as
BEA_HOME in the WebLogic documentation.

● The JReport Server WAR file jreport.war is located in the /opt/JReport/Server/bin/distribute


directory. To create the WAR file refer to the instructions in Building a WAR/EAR file to include a self-
contained JReport Server.

To deploy JReport Server to BEA WebLogic:


1. If you have not already created a WebLogic Domain for JReport Server you must create one
before starting the integration.

2. Start WebLogic by running startWeblogic.sh in /opt/bea/user_projects/domains/domain_name/


bin.

3. Access the WebLogic Administrative Console by using URL http://hostname:7001/console/,


where the hostname is host name or IP address, and 7001 is the port number.

4. After your successful login, in the Domain Structure panel on the left, click Deployments node.

5. In the Summary of Deployments panel, click Install.

6. In the Install Application Assistant panel, click the upload your file(s) link.

7. In the Deployment Archive section, click Browse to select the jreport.war file in C:\JReport
\Server\bin\distribute, and then click Next.

8. Keep clicking Next until the Finish button is enabled, and then click Finish.

9. Start JReport Server and then access it using the following URL:
http://localhost:7001/jreport/

Troubleshooting
If you run into problems when using JReport Server in BEA WebLogic, send the log files of JReport
Server to [email protected]. The following procedure illustrates how to generate the log files:

1. Add -Dlogall=true on the same line as -Dreporthome in the startWebLogic.sh shell script.

2. Restart the application server, and then try to reproduce the problem. After reproducing the
problem, send [email protected] the log files in reporthome/logs.

The WebLogic log file may also help to identify the problem. It is /opt/bea/user_projects/
domains/domain_name/logs.
Deploying to Tomcat 6
The example directory paths listed below are based on Solaris or Linux (referred to as Unix). The
instructions are applicable to both Unix and Windows installations; however, the format of the paths for
Windows would use the Windows format, i.e. C:\JReport\Server instead of /opt/JReport/Server.

It is assumed that:
● Tomcat 6 is installed in the /opt/apache-tomcat-6 directory.

● The JReport Server WAR file jreport.war is located in the /opt/JReport/Server/bin/distribute


directory. To create the WAR file refer to the instructions in Building a WAR/EAR file to include a self-
contained JReport Server.

To deploy JReport Server to Tomcat 6:


1. Ensure that Tomcat is shut down.

2. Copy the Web Application Archive jreport.war to /opt/apache-tomcat-6/webapps.

3. Start Tomcat by running the startup.sh script.

4. Access JReport Server using the following URLs:


http://localhost:8080/jreport/jrserver
http://localhost:8080/jreport/admin/index.jsp
http://localhost:8080/jreport/jinfonet/index.jsp

Troubleshooting
If you run into problems when using JReport Server in Tomcat, send the log files of JReport Server to
[email protected]. The following procedure illustrates how to generate the log files:

1. Modify the catalina.sh file in /opt/apache-tomcat-6/bin.

In the file catalina.sh, add -Dlogall=true after the reporthome definition:

"$JAVA" $JAVA_OPTS \-classpath "$JBOSS_CLASSPATH"


-Dreporthome=/opt/JReport/Server\-Dlogall=true\
org.jboss.Main "$@"

2. After editing catalina.sh, start Tomcat.

3. To get the information about the JReport Server environment, you can access http://
localhost:8080/jreport/admin/info.jsp?cmd=info.

4. Save the output to a file.

5. After reproducing the problem, send [email protected] the log files in reporthome/logs.
The Tomcat log files may also help to identify the problem. The most useful one is /opt/apache-
tomcat-6/logs/catalina.out.
Deploying to JBoss 5.0.1
The example directory paths listed below are based on Solaris or Linux (referred to as Unix). The
instructions are applicable to both Unix and Windows installations; however, the format of the paths for
Windows would use the Windows format, i.e. C:\JReport\Server instead of /opt/JReport/Server.

It is assumed that:
● JBoss 5.0.1 is installed in the /opt/jboss directory.

● The JReport Server WAR file jreport.war is located in the /opt/JReport/Server/bin/distribute


directory. To create the WAR file refer to the instructions in Building a WAR/EAR file to include a self-
contained JReport Server.

To deploy JReport Server to JBoss 5.0.1:


1. Ensure that JBoss is shut down by running the script /opt/jboss/bin/shutdown.sh -S.

2. Remove the two files xercesImpl.jar and xml-apis.jar from jreport.war since they conflict with
JBoss. They are located in jreport.war\WEB-INF\lib.

3. Copy jreport.war to /opt/jboss/server/default/deploy.

4. Start JBoss by running the run.sh script.

5. Access JReport Server using the following URLs:


http://localhost:8080/jreport/jrserver
http://localhost:8080/jreport/admin/index.jsp
http://localhost:8080/jreport/jinfonet/index.jsp

Troubleshooting
If you run into problems when using JReport Server in JBoss, send the log files of JReport Server to
[email protected]. The following procedure illustrates how to generate the log files:

1. Modify the file run.sh in /opt/jboss/bin.

In the file run.sh, add -Dlogall=true after the reporthome definition:

"$JAVA" $JAVA_OPTS \
-classpath "$JBOSS_CLASSPATH" -Dreporthome=/opt/JReport/Server \
-Dlogall=true \
org.jboss.Main "$@"

2. After editing run.sh, start JBoss using the modified file.

3. After reproducing the problem, send [email protected] the log files in reporthome/logs.

The JBoss log files may also help to identify the problem. The most useful one is /opt/jboss/
server/default/log/server.log.
Deploying to OC4J 10g R3 (10.1.3.5.0)
It is assumed that the JReport Server WAR file jreport.war is located in the /opt/JReport/Server/bin/
distribute directory. To create the WAR file refer to the instructions in Building a WAR/EAR file to
include a self-contained JReport Server.

To deploy JReport Server to OC4J 10g R3 (10.1.3.5.0):


1. Start OC4J.

2. On the Applications tab, click Deploy.

3. In the Archive Location section, click Browse to select the jreport.war file in /opt/JReport/
Server/bin/distribute. Then click Next.

4. Type JRServer in the Application Name field, and type a context path such as /jreport in the
Context Root field. Then click Next.

5. Click Deploy to deploy the WAR.

6. Access JReport Server using the following URLs:


http://localhost:port/jreport/jrserver
http://localhost:port/jreport/admin/index.jsp
http://localhost:port/jreport/jinfonet/index.jsp

Troubleshooting
If you run into problems when using JReport Server in the Oracle oc4j Application Server, send the log
files of JReport Server to [email protected]. The following procedure illustrates how to generate
the log files:
1. Type -Dlogall=true in oc4j.cmd located in /oc4jhome/bin.

2. Restart OC4J, and then try to reproduce the problem.

3. After reproducing the problem, send [email protected] the log files in reporthome/logs.
Deploying to Sun Java™ System Application Server Platform Edition 8.2
The example directory paths listed below are based on Windows. The instructions are applicable to both
Unix and Windows installations; however, the format of the paths for Unix would use the Unix format, i.
e. /opt/JReport/Server instead of C:\JReport\Server.

It is assumed that:
● Sun Java™ System Application Server Platform Edition 8.2 is installed in the C:\Sun\AppServer
directory.

● It is assumed that the JReport Server WAR file jreport.war is located in the C:\JReport\Server\bin
\distribute directory. To create the WAR file refer to the instructions in Building a WAR/EAR file to
include a self-contained JReport Server.

To deploy JReport Server to Sun Java™ System Application Server Platform Edition 8.2:
1. Upgrade Sun Application Server's Derby jars by using the lib folder in C:\JReport\Server\derby
to replace the lib folder in C:\Sun\AppServer\derby.

2. Modify server.policy in C:\Sun\AppServer\domains\domain1\config as follows:

Change
permission java.util.PropertyPermission "*", "read";

to:
permission java.util.PropertyPermission "*", "read,write";

Then add below lines:


// Added by Jinfonet
grant codeBase " file:c:/- " {
permission java.security.AllPermission;
};
grant {
permission java.io.FilePermission " c:/- " , " read,write,execute,delete " ;
};

3. Upgrade the ant in C:\Sun\AppServer\lib to ant-1.7.1.

4. Update the file domain.xml in C:\Sun\AppServer\domains\domain1\config by adding ${path.


separator}${com.sun.aas.antLib}/ant-launcher.jar right after "ant.jar".

5. Start the Sun Application Server by selecting Start > Programs > Sun Microsystems >
Application Server PE > Start Default Server.

6. Launch the Admin Console by selecting Start > Programs > Sun Microsystems > Application
Server PE > Admin Console.

7. In the left console tree, expand the Applications node, then click Web Applications.
8. In the Web Applications page, click Deploy.

9. Click Choose File to select the WAR file jreport.war. Then click Next.

10. Use the default settings and click OK. You will find a new application jreport is listed.

11. Access JReport Server using the following URLs:


http://<hostname>:8080/jreport/jrserver
http://<hostname>:8080/jreport/jinfonet/index.jsp
http://<hostname>:8080/jreport/admin/index.jsp

Troubleshooting
If you run into some problems when using the Sun Application Server, send the log files of JReport
Server to [email protected]. The following procedure illustrates how to generate the log files:

1. Start the Sun Application Server, and then launch the Admin Console.

2. In the console tree, click Application Server.

3. Go to the JVM Settings tab, and then click JVM Options.

4. In the JVM Option field, click Add JVM Option, and then type -Dlogall=true.

5. Click Save to save your changes.

6. Restart Sun Application Server and try to reproduce the problem.

7. After reproducing the problem, send [email protected] the log files in reporthome/logs.
Deploying to GlassFish V3
The example directory paths listed below are based on Solaris or Linux (referred to as Unix). The
instructions are applicable to both Unix and Windows installations; however, the format of the paths for
Windows would use the Windows format, i.e. C:\JReport\Server instead of /opt/JReport/Server.

It is assumed that the JReport Server WAR file jreport.war is located in the /opt/JReport/Server/bin/
distribute directory. To create the WAR file refer to the instructions in Building a WAR/EAR file to
include a self-contained JReport Server.

To deploy JReport Server to GlassFish V3:


1. Start the GlassFish in the default domain1 and then launch the Admin Console.

2. Click the Deployment node on the left.

3. Click Deploy on the displayed page.

4. Click Choose File to select the WAR file jreport.war.

5. Leave Application Name and Context Root as jreport and jreport. Then click OK.

6. Expand the Deployment node on the left and you will see a new node named jreport. Click jreport
and then on the displayed page click Save.

7. In the console tree, click Configuration. Go to the JVM Settings tab, and then click JVM Options.
In the JVM Options section, click Add JVM Option, and then type -Djava.awt.headless=true.
Click Save to save your changes.
You need not add this JVM option if you are using Windows.

8. Restart GlassFish, and then start the application jreport.

9. Access JReport Server using the following URLs:


http://<hostname>:8080/jreport
http://<hostname>:8080/jreport/admin/index.jsp
http://<hostname>:8080/jreport/jinfonet/index.jsp

Troubleshooting
If you run into some problems when using the GlassFish V3, send the log files of JReport Server to
[email protected]. The following procedure illustrates how to generate the log files:

1. Start the GlassFish in the default domain1 and then launch the Admin Console.

2. In the console tree, click Configuration.

3. Go to the JVM Settings tab, and then click JVM Options.

4. In the JVM Options section, click Add JVM Option, and then type -Dlogall=true. Click Save to
save your changes.

5. Restart GlassFish and try to reproduce the problem.


6. After reproducing the problem, send [email protected] the log files in reporthome/logs.

The GlassFish log file may also help to identify the problem. It is /opt/glassfish/domains/domain1/
logs/server.log.
Integrating remote JReport Server
Normally, JReport servlets are only integrated with other applications on the same machine. However,
you can now implement JReport Remote Server API in your JSPs, and integrate the JSPs with the
application server to call JReport Server, which is running on a different machine.
Notes:
● In a remote integration environment, the options for publishing resources are hidden since they are
not supported by JReport JSPs. If you want to publish report sets or catalogs to JReport Server, use
one of the following ways:
❍ Access the JReport Server (not the remote server) Administration page with 8889 as the default
port to perform publish work.

❍ Copy the report set or catalog files to the computer where JReport Server (not the remote server)
is located, and then call the RMI API to publish them.

❍ Publish the report set or catalog files from JReport Designer to the JReport Server.

● In a remote integration environment, running report sets to the Applet format is not supported.

● In a remote integration environment, the two tabs Monitor and Data are hidden on JReport
Administration page since they are not supported.

● You can change the location of the two folders, skin and dhtmljsp, in the \public_html directory in
the application server side. What is required is to create a file jrserver.properties in the \WEB-INF
directory and then add the following two properties and provide the correct paths (the context root is
excluded):
web.skin.dir
web.dhtml_jsp_path

See the following cases:


● Integrating remote JReport Server with IBM WebSphere 7 by a WAR file

● Integrating remote JReport Server with WebLogic 11g Release 1 (10.3.2) by a WAR file

Related Topics:
● Overall Remote Server APIs & unified JSPs
Integrating remote JReport Server with IBM WebSphere 7 by a WAR file
Here is an example illustrating the case of using JSPs based on Remote Server APIs to integrate with
IBM WebSphere 7.
It is assumed that:
● WebSphere 7 is installed in C:\WebSphere in computer A.

● JReport Server is installed in C:\JReport\Server in computer B. The computer IP is 127.0.0.1.

Take the following steps to integrate remote JReport Server with IBM WebSphere:
1. Generate a WAR file.

2. Configure JReport Server.

3. Deploy the WAR file.

Below show the details for each step:

Generating the WAR file


1. In computer B, use the tool makewar.bat to build the JReport Server WAR file as defined by
makewar.xml for remote integration. Both makewar.bat and makewar.xml are located in C:
\JReport\Server\bin. Run the following commands in DOS window and the generated WAR file
remote.war will be saved to the directory C:\JReport\Server\bin\distribute.
makewar.bat buildRemoteWar -Djrs.remote.host=127.0.0.1 -Djrs.remote.rmiport=1129 -
Djrs.rmi.auth_file=C:\JReport\Server\bin\rmi.auth

2. Copy the rmi.auth file from C:\JReport\Server\bin in computer B to C:\JReport\Server\bin in


computer A.

Configuring JReport Server


1. Make sure JReport Server has been started once in order that the server.properties file is
generated.

2. Change server.properties file in C:\JReport\Server\bin as follows:


server.rmiserver.enable=true
server.rmiadminservice.enable=true (This is required only when you have included the admin
JSP pages from C:\JReport\Server\bin\public_html\admin and are going to use the
administration service.)

Deploying the WAR file


1. In computer A, start IBM WebSphere.
2. In computer B, access the WebSphere Administrative Console by using the URL: https://
hostname:9046/ibm/console, where the hostname is computer A's host name or IP address, and
9046 is the port number.

3. After successfully log in, expand the Applications node, select Application Types and then
Websphere enterprise applications.

4. Click Install.

5. Click Browse to select the remote.war file, and then click Next.

6. Keep clicking Next until you see the requirement for specifying context root.

7. In the Context Root field, type a context path such as /remote/, then click Next.

8. Click Finish on the Summary page. The installing process may take several minutes, wait until the
process is completed.

9. Click Save.

10. Select remote.war and then click Start.

11. Access JReport Server using the following URL:


http://hostname:9446/remote/jinfonet/default.jsp

Here the hostname is computer A's host name or IP address.


Integrating remote JReport Server with WebLogic 11g Release 1 (10.3.2) by
a WAR file
Here is an example illustrating the case of using JSPs based on Remote Server APIs to integrate with
WebLogic 11g Release 1 (10.3.2).
It is assumed that:
● WebLogic is installed in C:\bea in computer A.

● JReport Server is installed in C:\JReport\Server in computer B. The computer IP is 127.0.0.1.

Take the following steps to integrate remote JReport Server with WebLogic:
1. Generate a WAR file.

2. Configure JReport Server.

3. Deploy the WAR file.

Below show the details of each step:

Generating a WAR file


1. In computer B, use the tool makewar.bat to build the JReport Server WAR file as defined by
makewar.xml for remote integration. Both makewar.bat and makewar.xml are located in C:
\JReport\Server\bin. Run the following commands in DOS window and the generated WAR file
remote.war will be saved to the directory C:\JReport\Server\bin\distribute.
makewar.bat buildRemoteWar -Djrs.remote.host=127.0.0.1 -Djrs.remote.rmiport=1129 -
Djrs.rmi.auth_file=C:\JReport\Server\bin\rmi.auth

2. Copy the rmi.auth file from C:\JReport\Server\bin in computer B to C:\JReport\Server\bin in


computer A.

Configuring JReport Server


1. Make sure JReport Server has been started once in order that the server.properties file is
generated.

2. Change server.properties file in C:\JReport\Server\bin as follows:


server.rmiserver.enable=true
server.rmiadminservice.enable=true (This is required only when you have included the admin
JSP pages from C:\JReport\Server\bin\public_html\admin and are going to use the
administration service.)

Deploying the WAR file


1. If you have not already created a WebLogic Domain for JReport Server you must create one
before starting the integration.

2. In computer A, start WebLogic by running startWeblogic.sh in C:\bea\user_projects\domains


\domain_name\bin.

3. In computer B, access the WebLogic Administrative Console by using URL http://hostname:7001/


console/, where the hostname is computer A's host name or IP address, and 7001 is the port
number.

4. After your successful login, in the Domain Structure panel on the left, click Deployments node.

5. In the Summary of Deployments panel, click Install.

6. In the Install Application Assistant panel, click the upload your file(s) link.

7. In the Deployment Archive section, click Browse to select the remote.war file in C:\JReport
\Server\bin\distribute, and then click Next.

8. Keep clicking Next until the Finish button is enabled, and then click Finish.

9. Start JReport Server in computer B. Then go to computer A and access JReport Server using the
following URL:
http://localhost:7001/remote/
Clustering
A JReport Server cluster is a distributed cluster in which a group of servers work together to provide
cluster-wide shared resources, security, schedules and version services. In a JReport Server cluster, all
clustered servers play exactly the same role. You can add a new server to the existing cluster or shut
down a server from the cluster any time.
This chapter shows you the infrastructure of the JReport Server cluster, what features it owns, how to
set it up, and how to manage it.
The following topics are covered:
● Cluster overview

● JReport Server cluster main features

● Setting up and starting a JReport Server cluster

● Managing JReport Server clusters

● Dispatching RMI Server Pages requests in multiple server environment


Cluster overview
There are many nodes (clustered servers) that play the same role in a JReport Server cluster. The following is a diagram
of the JReport Server cluster infrastructure:

Every clustered server in this distributed cluster has the same responsibility. You can set each clustered server in a
JReport Server cluster by configuring its properties. The following list shows all the tasks each clustered server in the
server cluster can complete.

Business tasks Administrative tasks

Run Submit Load-


Load- Fail- Security Resource
Report Scheduled Balancing
Balancing over Administration Administration
Sets Tasks Administration

Clustered Y Y Y Y Y Y Y
Server

Related topics:
● JReport Server cluster
JReport Server cluster main features
This section describes the main features of the JReport Server cluster. Some of these features are also
available through the API. With these features in mind, you will be better able to understand JReport
Server clusters and easily use them.

Administering security and resources


In a distributed cluster, you can accomplish all administrative tasks from any single node.
After logging onto the cluster from a clustered server as an administrator, certain security
administrative tasks can be performed:
● Create, remove and edit users, groups, realms, protections and ACLs.

● Edit resource nodes and sub resource nodes. Add reachable virtual resource nodes.

● Customize the default page appearance for users.

Load balancing
As for scheduled tasks in a cluster environment, JReport Server provides a load balancing mechanism
which enables the server to work more effectively.
Every clustered server has a scheduler, and among the schedulers those with a lease are active
schedulers. When the time of a scheduled task arrives, active schedulers compete and the winner gets
to trigger the schedule. When dispatching tasks, the server which has the active scheduler will select a
server according to load balancing algorithm and allocate the task to it.
Here are the benefits of deploying load balancing in a JReport Server cluster.
● Automatically allocates tasks to suitable servers according to their current load and performance.

● Makes sure that all of the servers in the cluster are fully utilized.

● Automatically re-balances the network load when one server is added or removed.

Cluster Scheduler Lease


By default, in a JReport Server cluster all nodes of the cluster compete to become the active scheduler
when the time of a scheduled task arrives. If the scheduled task has been bound with a trigger, then
the node who gets the trigger becomes the active scheduler. The active scheduler for the task will then
determine the server that will be asked to run the scheduled report based on load balancing. The
Cluster Scheduler Lease option allows you to limit the number of servers competing for each scheduled
report by setting a Cluster Scheduler Lease Active Count. As long as the count is less than the total
number of nodes in the cluster, only the nodes holding a lease will compete to become the scheduler
for the report that is ready to run. Depending on the number of scheduled reports you have, you may
find that setting the Lease Active Count to 1 or 2 will provide more overall throughput on the system so
the other nodes never have to be concerned about scheduled tasks.
There are two additional parameters that can be set:
● Cluster Scheduler Lease Valid Time will set the amount of time that the lease holder will continue to
compete for scheduled tasks to run. The default value is 300 seconds.

● Cluster Schedule Lease Check Interval will set the amount of time between when other non-lease
nodes will check to see if a lease is available to pick up. The default value is 30 seconds, i.e. every 30
seconds all the other nodes will check to see if one of the lease semaphores is available to take. The
number of semaphores is set by the Cluster Scheduler Lease Active Count.

Load detection
There is a JReport Server residing in each node of a JReport Server cluster. The main factor that affects
load balancing is the number of concurrent report sets that are running on every JReport Server. In
order to avoid heavy load, every member server in the cluster has been enabled to send the number of
concurrently running report sets on it to the other cluster nodes.

Built-in load balancing algorithms


JReport Server cluster supports several algorithms for load balancing clustered servers. Configurable
algorithms for load balancing clustered servers are:
● Least Current Report Sets (Min-load) (loadbalance.type=0)
The server that has the active scheduler will select the server which has the least number of
currently running report sets. If the local server is one of the qualified servers, it will be given higher
priority.

● Round Robin (loadbalance.type=1)


The server that has the active scheduler will select each server in sequence one by one until each has
been allocated a report set to run then will repeat the cycle. This is the default setting.

● Least Weighted Current Report Sets (Weighted Min-load)(loadbalance.type=2)


The server that has the active scheduler will select the server that has the least Weighted current
report sets. If the local server is one of the qualified servers, it will be given higher priority.

Number of currently running report sets


Weighted current report sets=

Performance Weight

Performance weight is a positive floating point number that you set to each server in a cluster on any
clustered server. Use Admin Console > Cluster > Weight panel and measure the performance of a
typical report on each node of the cluster. The higher performance weight you set to a clustered
server, the higher chance it may get selected by the server that holds the active scheduler during
load balancing. See Configuring performance weight for how to set performance weight and how this
algorithm works.
If you do not set performance weight, by default the algorithm will work the same as Round Robin
(loadbalance.type=1).

● Random (loadbalance.type=3)
The server that holds the active scheduler will select the server randomly.

Failover
You can check the status of the clustered servers on JReport Server Monitor and notice the failure of
any member server. If a member server is down, JReport cluster will remove it from the active
clustered server list.

Member server failure


Effect on load balancing
When JReport cluster detects a failed member server, it will remove the member server from the active
server list and will not schedule reporting tasks to that server any more. Load balancing will proceed on
the remaining active servers.
Effect on incomplete tasks
When JReport cluster detects a failed clustered server, it will check the shared table for the list of
incomplete tasks and will then reassign all incomplete tasks to other active servers using the load
balancer.
Effect on completed tasks
JReport supports only report set level recovery but not session level recovery. Once a report task is
completed, it will be written to temporary storage for redirection to the requester. Failure after that will
not be recovered.

Notifying of server down


If you have enabled the notifying of server down feature, when a member server crashes or is
disconnected with the cluster, JReport cluster will send a notification e-mail to a specified address.

Distributed storage
In pure distributed cluster the resource files are no longer stored in a central place. They might be
stored on any node in the cluster. You can set how many copies would be made in the cluster. Then if
you need to access the files from another node, JReport cluster will copy them to the node from where
it is stored. As a result, you can access your required files from anywhere in the cluster. If the copy
number is 0, then it means every node of the cluster will get a copy.
Here are the resources that can be stored on any single node of the cluster:
● Temp Directory
When viewing report sets from any server in a JReport Server cluster, some temporary files will be
generated. All temporary files are saved in the temp directory.

● History Directory
When publishing report sets to the versioning system from any server in a JReport Server cluster, all
the result files are saved in the history directory.

● Realm Directory
On each clustered server, the realm related files are saved in the realm directory.

● CRD result files


On each clustered server, the CRD result files are stored in the cached CRD result folder.
Setting up and starting a JReport Server cluster
This section introduces the steps for setting up a JReport Server cluster and starting it. Here, it is
assumed that you already have a general idea about the infrastructure of JReport Server clusters and
know the functions of the clustered servers. If this isn't the case, see Cluster overview and JReport
Server cluster.

Following are steps and examples for how to set up and start a JReport Server cluster:
● JReport Server cluster license

● Preparation

● Setting up and configuring a JReport Server cluster

● Starting a JReport Server cluster

● Example 1: Setting up a simple JReport Server cluster

● Example 2: Setting up a JReport Server cluster for a production environment


JReport Server cluster license
JReport Server cluster uses a license which is different from the other licenses you use for JReport
Server. When installing JReport Server to run in a JReport Server cluster, you should use the special
license key only for JReport Server cluster. Contact JReport Sales to obtain the special license key for
the cluster.
Preparation
To set up a JReport Server cluster, you must determine the following factors:
● What is a JReport cluster?
JReport cluster is based on JGroups and is a distributed cluster. All clustered servers in JReport
cluster play the same role. You can add a new server to the existing cluster or shut down a server
from the cluster any time.

● How many servers will be included in the cluster?


The maximum number of servers is unlimited as long as you install JReport Server with the license
key for cluster. Based on your expected load and protection from system failures you can create 2 or
more nodes for your cluster. Often with multi-cpu and multi-core systems you will get better overall
throughput having several nodes on a single server. Only by testing in your environment will you be
able to find the number of nodes to give you the highest performance. Too few and resources will be
under utilized and too many will cause thrashing and lower throughput.

● Whether to use the distributed storage feature in the cluster?


In a distributed cluster the files may be stored on any node in the cluster. You can set how many
copies will be made in the cluster and if you need to access the files from another node, JReport
cluster will copy them to this node from the node it is stored on. As a result, you can access your
required files from anywhere in the cluster. If the copy number is 0, then it means every node of the
cluster will get a copy.
The tradeoff is overall system performance versus individual user performance when a user requests
a report result. If you set Number of Copies to 0, the system will copy every resource file to every
node, slowing overall throughput considerably. However, setting Number of Copies to 1 will keep a
single copy just on the node where it was created which provides maximum system throughput but
when a user requests a resource which is not on his node he then needs to wait for it to be copied
before he can view it. If the node goes down though then the resource is unreachable. A setting of 2
is the default which allows for failover if a node goes down but just does a single copy.

● Whether to use the default Derby DBMS or use your own DBMS?
JReport includes the Apache Derby DBMS for the server data such as resources and users, groups
and roles and a lot of other information. By default each installed node creates it's own database in
<install_root>/derby. In order to use a JReport cluster, all nodes must use the same database.
Select one of the nodes to manage the Derby DBMS and ensure that all the other nodes point to this
same instance. For an example, review the sample configuration Case 1.

Another option to consider is using your own DBMS for the server database. If you already have a
reliable DBMS which is already being backed up and provides the reliability you need such as MySQL
or Oracle we recommend you change the system DBMS to use your own managed DBMS rather than
maintain a separate one for JReport. For information on how to configure JReport to use a different
system DBMS, refer to Configure the server database.
Setting up and configuring a JReport Server cluster
Before setting up a JReport Server cluster, first you need to make the time difference between the
target computers that will join the cluster as small as possible (the time difference between the target
computers should be within one minute), and make sure all servers in the cluster will be set up on the
same architecture and operating system.
A JReport Server cluster can be set up either during the JReport Server installation or after the servers
have been installed using the appropriate license key for cluster.

Creating a JReport Server cluster during installation


It is recommended that you create a JReport Server cluster during the installation of servers. This is
the easiest way for you to set up a cluster.
To create a JReport Server cluster during installation:
1. Run the JReport Server installation file to install JReport Server with the Installation Wizard.

2. Specifies your User ID. In the License Key text field, use the cluster enabled license key.

3. When choosing the installation type, choose Custom Installation for Standalone Server. Then
specify the installation directory for JReport Server.

4. In the Service tab of the Configuration panel, check the Network Address At option and type in
the IP address of the server.

5. In the Cluster tab, specify a cluster name in the Cluster Name text field. You can either make the
server join an existing cluster or specify a new cluster name to build another cluster.

6. Uncheck the Disable Cluster option.

7. Check the Cluster Scheduler Lease option to enable lease for the cluster, then set the active
count, valid time and check interval for the cluster scheduler lease. If you don't enable the lease
option, all clustered servers in the cluster will compete for a chance to trigger scheduled tasks
which could lower overall system throughput. Read main features for additional information.

8. Specify values for Cluster Storage History Number of Copies, Cluster Storage Realm Number of
Copies and Cluster Storage CRD Result Number of Copies. If you are using shared disk resources
for any of these directories you should set the value to 1. The default value is 2 which means
make one copy plus the original. This allows any one node to go down and the system will still be
able to find all resources. If you want to allow 2 simultaneous failures, set the number of copies to
3.

9. Set the Properties, Realm, Resource, History, and Temporary Directories if necessary. If they are
not specified, default directories will be used.

10. Type the IP address or host name of the server in the Server's RMI Host text field, and type the
port number in the Server's RMI Port text field.

11. In the Data Source tab, configure the System DB and Realm DB to make sure they point to the
database that the server will use.
12. Go on with the installation steps to complete the installation.

13. Install another server you want to join the cluster and repeat the above steps to configure its
cluster settings. Since JReport Cluster uses only one server DBMS, you need to make the system
database and realm database in the URL text field point to the same DBMS as the previous server.
This requires that you replace localhost with the IP address of the first cluster node that you
installed: jdbc:derby://localhost:1527/systemtables;create=true; jdbc:derby://
localhost:1527/realmtable.defaultRealm;create=true.

Creating a JReport Server cluster after installation


After the servers have been installed using the appropriate license key for cluster, you can configure
the clustered servers either by using the JReport Administration page or the server.properties and
dbconfig.xml files.

Using the JReport Administration page


1. Start up the server that hasn't been enabled for cluster.

2. Log onto the JReport Administration page, and click Cluster > Configuration on the system
toolbar.

3. In the Cluster Name text field, specify a name for the cluster. You can either make the server join
an existing cluster or specify a new cluster name to build another cluster.

4. Check the Enable Cluster option.

5. Click Save to enable the cluster.

6. A cluster member ID will be generated automatically for the server. But if you need to modify it,
go to server.properties file located in <install_root>\bin and set the property cluster.member.
id.

7. Go to the JReport Administration > Data page, configure the databases to make sure they point to
the database that the server will use. For details, see Configuring the server database.

8. Restart the server you have enabled with cluster, then log onto the JReport Administration page,
go to the Cluster > Configuration panel.

9. To enable lease for the cluster, check the Cluster Scheduler Lease option and set the active
count, valid time and check interval of the cluster scheduler lease respectively.

10. Specify values for Cluster Storage History Number of Copies, Cluster Storage Realm Number of
Copies and Cluster Storage CRD Result Number of Copies.

11. Set the Properties, Realm, Resource, History, and Temporary Directories if necessary. If they are
not specified, default directories will be used.

12. In the Server's RMI Host text field, type the RMI IP address or host name of the clustered server.

13. In the Server's RMI Port text field, type the RMI port number of the clustered server.

14. Shut down the server.

15. Start up another server you want to join the cluster and repeat the above steps to configure its
cluster settings.
See also Cluster dialog for details about the cluster configuration options.

Using the server.properties and dbconfig.xml files


To set up a JReport Server cluster using the server.properties and dbconfig.xml files, you need to
modify the server.properties file on each JReport Server. The process uses the following procedures:
1. In the server.properties file located in <install_root>\bin of each server, set the property
cluster.enabled=true.

2. Modify cluster.name in any server's server.properties file to specify the cluster name. If not
specified, it will take jreport-cluster as the default name.

3. In the server.properties file of each clustered server, modify the properties file as follows:
❍ cluster.member.id=(integer)
Specifies the member ID of the local server. The value of this property should be an integer no
less than 1.

❍ server.rmi.host=localhost IP address
Specifies the RMI IP address or host name of the local server.

❍ server.rmi.port=1129
Specifies the RMI port number of the local server.

4. Specify the paths of the directories on the physical disk, such as properties directory, realm
directory, resource root, history directory, and temporary files directory. The directories on each
clustered server should point to a different physical disk.
Add the following properties to the server.properties file:
❍ resource.share.temp.dir=
Specifies the directories for storing temporary files.

❍ resource.share.hist.dir=
Specifies the directories for storing all versions of report set results in the cluster.

❍ resource.share.realm.dir=
Specifies the directories of the realm files.

❍ resource.share.properties.dir=
Specifies the directories of the properties files.

❍ resource.root=
Specifies the directories of the JReport demo report sets.

5. Modify dbconfig.xml in each server's <install_root>\bin, and make sure that the system
database and realm database all server nodes use point to the same DBMS. For details, see
Configuring the server database.

Notes:
● In JReport cluster, you can no longer use HSQLDB as the server's system database.

● If you set up a JReport cluster on one computer, you need to make sure that the settings of HTTP
Port, Administration Port, and Server's RMI Port on each cluster node be different from those on any
other nodes.
● It is strongly recommended that you do not change the auto generated cluster member ID in a
JReport cluster, because distributed storage uses the member ID to recognize on which node the
physical files are stored.

● Properties such as cluster.name, cluster.member.id, resource.share.properties.dir, resource.share.


realm.dir, resource.root, resource.share.hist.dir, resource.share.temp.dir, server.rmi.host, server.rmi.
port, cluster.enable, log.config.filename, log.config.update, and log.config.update.interval that
created in the server.properties file and their corresponding UI options on the JReport Administration
page need to be configured respectively for each cluster node. However, properties that are now
saved in the database should be configured for all the server nodes in the cluster. These properties
are:
❍ The following properties listed before in the server.properties file: cluster.
enable_notify_server_down, cluster.notify_server_down_address, cluster.scheduler.lease.
active_count, cluster.scheduler.lease.check_interval, cluster.scheduler.lease.enabled, cluster.
scheduler.lease.valid_time, cluster.storage.crd_result.copy_number, cluster.storage.history.
copy_number, cluster.storage.realm.copy_number, loadbalance.custom_class, loadbalance.type,
server.autocache.enabled, server.autocache.expired.time, server.autocache.max.disk.usage,
server.autocache.never.expire, server.completed.max_count, server.crd.memory.usage, server.
realm.active, server.security, server.version.from.temp.

❍ All properties in the mailconfig.properties file in <install_root>\bin.

❍ All properties in the clusterWeight.properties file in the system database.

❍ All properties in the LDAP configuration XML file LDAPProperties.xml in <install_root>


\properties.

● No sub folders should be created under the realm directory because it may create a realm when
server is started.

● To use the old result files in <reporthome>\history, install the new JReport Server to the same
directory with a new license key, overriding the existing program files.

● In order to fax report results successfully in a cluster, you need to configure the fax settings for each
clustered server respectively.

● If the content of the resource root directory jreports is removed, the Public Reports folder in the
resource tree will be empty.
Starting a JReport Server cluster
To start a JReport Server cluster, start the servers you have configured for the cluster one by one. If
you are using the default Derby DBMS, be sure to start Derby first by running startNetworkServer.bat/
sh in the <install_root>/derby/bin directory on the server containing the server DBMS.

The servers in a cluster can also be shut down at any time, and by using the Server API, you can set
whether to notify somebody via e-mail when a server in a cluster is down. To do this:
1. Start a clustered server by using JReport Server API.

2. Call jet.server.api.admin.ClusterAdminService.

3. In this method, set the value of the parameter setEnableNotifyServerDown(boolean enable) to


true if you want the cluster to send a notification mail when a server is down. Then set the
parameter notifyServerDownAddress to specify an e-mail address to which the notification mail
will be sent.

Notes:
● If you are using multiple IP address on a clustered server, you need to add -Djgroups.
bind_addr=IP address at which JReport cluster can work properly to its JRServer.bat file located in
<install_root>\bin to make sure the server can be started successfully.

● If you have two JReport clusters with the same cluster name in a network segment, although the
two clusters are pointing to different databases, only the one started earlier can work successfully.

● The parameter setEnableNotifyServerDown(boolean enable) only applies to a JReport Server cluster


environment, since at least one running server is required for sending the e-mail when the other
servers are down.
Example 1: Setting up a simple JReport Server cluster
This example demonstrates how to configure a simple JReport Server cluster by modifying the
configuration options on the JReport Administration page on each JReport Server.
Example description:
● Set up a simple JReport Server cluster using the JReport Administration page. Assume that JReport
Server Monitor has been installed on your computer.

● The cluster consists of two copies of JReport Server on one computer.

● The cluster uses one server DBMS.

● The cluster uses shared directories for resources so no resource copies are required.

Take the following steps to set up the cluster:


1. Install the two JReport Servers respectively to C:\JReport\Server1 and C:\JReport\Server2
using the cluster enabled license key.

2. Launch the JReport Server installed to C:\JReport\Server2.

3. Log onto the JReport Administration page of Server2, click Configuration > Service on the
system toolbar, then set Port and Administration Port respectively to 8886 and 8887 to make
them different from those of Server1. You may use any port numbers which are available on your
system.

4. Click Cluster > Configuration on the system toolbar.

5. In the Configuration panel, specify a cluster name and check the Enable Cluster option, then
click Save to enable the cluster.

6. Restart the JReport Server installed to C:\JReport\Server2.

7. Log onto the JReport Administration page of Server2 using the administration port 8887 set in
Step 3 (http://localhost:8887), go to the Cluster > Configuration panel, check the Cluster
Scheduler Lease option to enable lease for the cluster, then set the active count, valid time and
check interval for the cluster scheduler lease.

8. Change the Cluster Storage History, Realm and CRD Result Number of Copies to 1. We will just
use one resource directory.

9. Change the Properties, Realm, Resource, History Directories to C:\JReport\Server1. Leave the
Temp directory as the default.

10. Type the IP address or host name of Server2 in the Server's RMI Host text field, and type the port
number in the Server's RMI Port text field.
The port is the RMI port of the clustered server. The default port number is 1129. If there are two
or more JReport Servers started on one machine, the RMI port number of each clustered server
must be changed to a unique one, in order to avoid port conflicts.
In this example, the port number is changed to 1130, since the other server will use the default
port number 1129.
11. Click Save to accept all the changes, then shut down the server.

12. Edit C:\JReport\Server2\bin\dbconfig.xml and remove the lines with auto-start-derbyservice. We


only want Server1 to start the server DBMS since we will always use the Server1 database.

13. Launch the JReport Server installed to C:\JReport\Server1, log onto the JReport Administration
page (http://localhost:8889), then click Cluster > Configuration on the system toolbar.

14. Use the same cluster name as Server2, thus making Server1 join the existing cluster. Check the
Enable Cluster option, then click Save to enable the cluster.

15. Restart the JReport Server installed to C:\JReport\Server1.

16. Go to the Cluster > Configuration panel, change the Cluster Storage History, Realm and CRD
Result Number of Copies to 1.

17. Configure its Server's RMI Host and Server's RMI Port. Remember to keep Server's RMI Port to its
default value 1129.

18. Upon finish, click Save to accept all settings and shut down Server1.

19. Copy rmi.auth in C:\JReport\Server1\bin to C:\JReport\Server2\bin. This allows RMI to be


authorized between the two systems.

20. Edit server.properties in C:\JReport\Server2\bin and remove cluster.member.id. It will be


recreated when you restart Server2 with a unique number.

21. Start the server Derby DBMS service by double-clicking the startNetworkServer.bat file in C:
\JReport\Server1\derby\bin.

22. Restart Server1 and Server2. It doesn't matter which one you started first.

23. Start JReport Server Monitor and check the cluster on the JReport Monitor page.

24. Access the JReport Console page of the first server using port 8888 as an administrator, and then
submit a scheduled task. In the Scheduled tab, you will see the newly scheduled task.

25. Log onto the JReport Administration page of the second server and create a new user Tom in the
Security > User panel. Access the JReport Console page of the second server using port 8886 as
Tom, and then submit another scheduled task.

Notes:
● Publishing to disk is not supported when you schedule to run a report in JReport cluster.

● You can only view scheduled tasks that you have submitted.

● From the JReport Console page of the clustered servers, you can only view completed tasks that you
have submitted.

● If there are more than two clustered servers in the cluster, then after you shut down one server, all
the scheduled tasks running on this server will be run on other servers.
Example 2: Setting up a JReport Server cluster for a production environment
This example demonstrates how to set up a JReport Server cluster on Unix/Linux by configuring the
cluster UI on each JReport Server. There will be three computers in the cluster. They are node1 (IP
address: 192.168.0.1), node2 (IP address: 192.168.0.2) and node3 (IP address: 192.168.0.3). All
JReport Servers in the cluster use Apache Derby as the server system database.
Take the following steps to set up the cluster:
1. Make the time difference between the target computers be within one minute.

2. Install JReport Server on each of the three nodes in directories /home/JReport/Server1, /home/
JReport/Server2 and /home/JReport/Server3 respectively using the appropriate license key for
the cluster, and install JReport Server Monitor on one of the nodes.

3. Launch the JReport Server installed to /home/JReport/Server1 on node1. Log onto the JReport
Administration page, and click Cluster > Configuration on the system toolbar. In the
Configuration panel, specify a cluster name and check the Enable Cluster option, then click Save
to enable the cluster.

4. Restart the JReport Server on node1, and go to the JReport Administration page > Cluster >
Configuration panel.

5. Check the Cluster Scheduler Lease option to enable scheduler leases for the cluster, then set
the active count, valid time and check interval for the cluster scheduler lease respectively. The
defaults of 2 active schedules with a time of 300 seconds and check interval of 30 seconds are a
good starting point.

6. Keep the cluster storage history, realm and CRD result number of copies to 2. This means that
each resource will be copied to 2 of the 3 servers so there will be no single point of failure for the
resources.

7. The default properties for realm, resource, history and temporary file directories are OK.

8. In the Server's RMI Host text field, type the IP address or host name of Server1 as 192.168.0.1.
Type the port number in the Server's RMI Port text field as 1129.

9. Click Save to accept all the changes.

10. Go to the Data > System DB panel of Server1, in the Configuration tab, copy the URL in the URL
text field to a temporary file, and go to the Realm DB panel to copy the URL using the same way.
In order to use a JReport server cluster, all nodes in the cluster must use the same database. In
this case, all three nodes will use the database server1 uses. The ensures that all servers in the
cluster share a single DBMS instance.

11. Shut down the server.

12. Launch the JReport Server installed to /home/JReport/Server2 on node2. Log onto the JReport
Administration page, and click Cluster > Configuration on the system toolbar. In the
Configuration panel, use the same cluster name as Server1, thus making Server2 join the existing
cluster. Check the Enable Cluster option, then click Save to enable the cluster.

13. Restart the JReport Server on node2. Go to the JReport Administration page > Data > System DB/
Realm DB, make the system database and realm database in the URL text field the same as those
of node1.

14. Go to the Cluster > Configuration panel.

15. Similarly, keep the cluster storage history, realm and CRD result number of copies to 2.

16. The default properties for realm, resource, history and temporary file directories are OK.

17. In the Server's RMI Host text field, type the IP address or host name of Server2 as 192.168.0.2.
Type the port number in the Server's RMI Port text field as 1129.

18. Click Save to accept all the changes, then shut down the server.

19. Launch the JReport Server installed to /home/JReport/Server3 on node3. Just like what we did
with node2, enable cluster and make node3 join the existing cluster too.

20. Restart the JReport Server on node3. Go to the JReport Administration page > Data > System DB/
Realm DB, make the system database and realm database in the URL text field the same as those
of node1.

21. Go to the Cluster > Configuration panel.

22. Just as we did with node2, keep the cluster storage history, realm and CRD result number of
copies to 2. The default properties for realm, resource, history and temporary file directories are
OK.

23. In the Server's RMI Host text field, type the IP address or host name of Server3 as 192.168.0.3.
Type the port number in the Server's RMI Port text field as 1129.

24. Click Save to accept all the changes, then shut down the server.

25. Start the server Derby DBMS service by running the startNetworkServer.sh file in /home/JReport/
Server1/derby/bin.

26. Launch the server on node1. In the Command Prompt window, you will see the following
information:
JReport Server is ready for service.

27. Similarly, launch the server on node2 and node3.

28. Start JReport Server Monitor and go to the JReport Monitor page to track the cluster.
Managing JReport Server clusters
The JReport Server Cluster page allows you to enable a cluster and configure and evaluate the
performance weight of the servers in the cluster. On this page, you can:
● Enable and set up a cluster.

● Configure the clustered servers.

● Set the shared parameters of the clustered servers.

● Evaluate the performance weight of the clustered servers.

On the JReport Administration page, you can also administer the servers in a cluster. In this section,
JReport Server cluster administration is described in the following topics:
● Configuring performance weight

● Balancing the server load

● Monitoring clustered servers


Configuring performance weight
If you have chosen the Least Weighted Current Report Sets (Weighted Min-load) algorithm for load
balancing, you will have to configure a performance weight for each clustered server in the cluster. The
higher performance weight you set to a clustered server, the higher chance it may get selected by the
server that has the active scheduler during load balancing.
To configure performance weight:
1. Start a clustered server in the cluster, on its JReport Administration page, click Cluster > Weight
to show the Weight panel.

2. Specify a weight value for each clustered server manually. Performance weight is a positive float
number.

3. Click OK to save the weight values.

4. If you want to test each clustered server's performance weight value at current time, specify a
catalog and a report that will be used for the testing in the Catalog and Report text fields and then
click the Test button.

The following are two examples for how Least Weighted Current Report Sets algorithm works:
Example 1 - when there are free servers:

Active Servers ServerA ServerB ServerC Comments


Is local server TRUE FALSE FALSE
Maximum concurrent report 8 Unlimited 5
sets
Number of currently running 6 6 5
report sets
Performance weight 10 10 10
Calculation
Weighted current report sets 0.6 0.6 0.5
Is free TRUE TRUE FALSE Current < MaxConcurrent, or
MaxConcurrent is unlimited
Candidate servers YES YES Select from free servers
Candidate servers YES YES Select servers which have the least
Weighted current report sets
Selected server YES Local server has higher priority

Example 2 - when there are no free servers:

Active Servers ServerA ServerB ServerC Comments


Is local server TRUE FALSE FALSE
Maximum concurrent report 10 10 10
sets
Number of currently running 10 10 10
report sets
Performance weight 4 5 8
Calculation
Weighted current report sets 2.5 2 1.25
Is free FALSE FALSE FALSE Current < MaxConcurrent, or
MaxConcurrent is unlimited
Candidate servers YES YES YES Selects from all servers when all
servers are full
Candidate servers YES Select servers which have the least
Weighted current report sets
Selected server YES Select ServerC
Balancing the server load
In a cluster environment, JReport Server provides a load balancing mechanism which enables the
server to work more effectively.

Load balancing process


1. When the time of a scheduled task arrives, active schedulers compete and the winner gets to
trigger the schedule.

2. The server that has the active scheduler selects a server in the cluster according to the load
balancing algorithm specified which can either be a built-in one or a customized one, and then
sends the task to the selected server.

Tip: You can also directly specify a server in a cluster to perform a scheduled task instead of using load
balancing. To do this, first make sure that the Identify Server Preference option is enabled in the Profile
dialog (Profile > Customize Server Preferences > Advanced > Identify Server Preference), and
then use the Specify a preferred server to run the task option in the General tab of the Schedule dialog
to specify a server manually.

Customized load balancing algorithm based on API


You can write your own load balancing algorithm based on the API included in JReport Server. Note
that if you create a load balancing algorithm with the API, it will take effect in place of other built-in
load balance algorithms you have set.

A demo DemoLoadBalancer.java has been provided to illustrate how to customize load balancing using
APIs. You can find it in <install_root>\help\server\en\samples.

Assuming that you have several clustered servers.


Take the following steps:
1. Compile DemoLoadBalancer.java to generate the class file as follows (when compiling
DemoLoadBalancer.java, you need to add JRESServlets.jar to the class path):
javac -classpath <install_root>\lib\JRESServlets.jar DemoLoadBalancer.java

2. Add DemoLoadBalancer.class to the class path of setenv.bat in the ADDCLASSPATH variable.

3. Add the parameter -Dloadbalance.custom_class=DemoLoadBalancer to the server's startup file


JRServer.bat which locates in <install_root>\bin. For example:
"%JAVAHOME%\bin\java.exe" -Dloadbalance.custom_class=DemoLoadBalancer "-Dinstall.
root=%REPORTHOME%" ...

4. Launch JRServer.bat, the customized loadbalancer DemoLoadBalancer will then be applied.

5. Submit some tasks for running. You will now find that these tasks are allocated to the clustered
servers based on the DemoLoadBalancer code.
Reference: For more details, see the jet.server.api.cluster.LoadBalancer interface in JReport Server
Javadoc located in <install_root>\help\server\en\api\jet\server\api\cluster.

Notes:
● You can choose the load balancing type by setting the API method setLoadBalanceType() at jet.
server.api.admin.ClusterAdminService. For example, setting the API method as setLoadBalanceType
(0), setLoadBalanceType(1), setLoadBalanceType(2), and setLoadBalanceType(3) means respectively
the algorithm Least Current Report Sets (Min-load), Round Robin, Least Weighted Current Report
Sets (Weighted Min-load) and Random will be chosen.

● For the load balancing algorithms: the server that holds the active scheduler selects from the servers
with the number of concurrently running report sets less than maximum number first. However, if all
servers are full, it will select from all of them.
Monitoring clustered servers
JReport Server Monitor is a standalone web-based application used for monitoring the overall
performance of JReport Server. JReport Server Monitor should be used together with JReport Server.
JReport Server Monitor contains the following main features:
● Inspects the status of JReport Server.

● Shows server performance statistics in Graph/Text mode.

● Maintains JReport Server.

● Creates profiling reports: performance reports and statistics reports.

Before you can use JReport Server Monitor to monitor servers in a cluster, the following steps must be
taken:
1. Download and install JReport Server Monitor.

2. Modify the server.properties file in <monitor_install_root>\bin to configure the IP address and


port information of one clustered server.

3. Copy rmi.auth from <server_install_root>\bin of the clustered server whose IP address and
port information you modified in the last step to <monitor_install_root>\bin, or remove rmi.
auth from <server_install_root>\bin of this clustered server.

4. Start JReport Server.

5. Launch MonitorServer.bat in <monitor_install_root>\bin to start JReport Server Monitor.

6. Access JReport Server Monitor using http://monitorhost:monitorport (default 8848), or by


clicking the Monitor link on the JReport Administration page.

Note: The Monitor link will not be displayed on the JReport Administration page when the web.monitor.
link.enable property in the server.properties file in <server_install_root>\bin is set to false. You can
specify the monitor port by setting monitor.jmx.htmladaptor.port in server.properties.

Related topics:
● Monitoring JReport Server
Dispatching RMI Server Pages requests in multiple server environment
You can dispatch RMI Server Pages requests in multiple server environment, which includes JReport clustered and non-clustered server
environment.

Sample solution: dispatch RMI Server Pages requests in clustered server environment
This sample solution is to visit Server Pages JSPs remotely from WebSphere 7 to JReport Clustered Server. See the below diagram for
the structure:

You should be able to set up a similar service with any Java EE server by following the same procedure based on your preferred
application server documentation.
This demo dispatcher dispatches requests from different sessions to different JReport Servers according to Round-Robin algorithm. The
dispatcher has the Fail Over function, which will periodically check whether there is any unavailable server in the cluster. No request will
be dispatched to the unavailable server until the server is checked to be available again.
In general, the solution can be categorized into the following major steps:
1. Set up the server cluster.

2. Generate a WAR file containing Server Pages RMI JSP and dispatcher for WebSphere.

3. Deploy the WAR file to WebSphere.

4. Configure a clustered JReport Server.

In the following sections, we will explain clearly the exact operations you are expected to make in each of the main steps.

Setting up the server cluster


In this example we will set up two into the cluster using the Round-Robin algorithm.
192.168.0.1
192.168.0.2
Refer to Setting up and configuring a JReport Server cluster for the specific steps of setting up JReport Server in a cluster.

Generating a WAR file containing Server Pages RMI JSP and dispatcher for WebSphere
1. Build a JReport Server WAR file as defined by makewar.xml for remote integration. The generated WAR file is saved to the default
directory <install_root>\bin\distribute.
makewar.bat buildRemoteWar -Djrs.remote.host=192.168.0.1 -Djrs.remote.rmiport=1129 -Djrs.rmi.auth_file=C:
\JReport\Server\bin\rmi.auth

2. Compile the dispatcher DemoRemoteDispatcher.java stored in <server_install_root>\help\server\en\samples with


<server_install_root>\lib\JRESServlets.jar and <server_install_root>\lib\servlet.jar. The class file
DemoRemoteDispatcher.class and some other class files will be generated.

3. In the WAR file, drag the class files generated in step 2 to the classes\demodispatch folder, assuming that this folder has already
been created in the WAR file.

Deploying the WAR file to WebSphere


1. Start IBM WebSphere 7.

2. Open Administrative Console. You can open Administrative Console by using the Start Menu, or by using the URL: http://
hostname:9060/ibm/console, where hostname is host name or IP address, and 9060 is the port number.

3. After successfully logging in, expand the Applications node, and then click Install New Application.

4. Click Browse to select your .war file. In the Context root field, type a context path such as /servlet/ ("/servlet" is also ok). Click
Next.

5. Do not check any option in this page, and then click Next.

6. Type RMI_Server Pages in the Application name field. DO NOT check the Precompile JavaServer Pages files option. Click Next.

7. Do not make any changes in the next two pages.

8. Click Finish in the Summary page. The installing process may take several minutes, wait until the process is completed.

9. After the installation process is completed, click Save directly to the master configuration. Then in the Save directly to the
master configuration dialog, click Save.

10. This step is to configure the dispatcher and cluster server. Go to WebSphere Admin Control to add some properties for this
dispatcher. Expand Servers, go through Server Types > WebSphere application Servers > server1 > Process definition (in
the Server Infrastructure table > Java and Process Management) > Java Virtual Machine > Custom Properties (in the Additional
Properties table).
Click the New button to add properties for our demo dispatcher com.jinfonet.dispatcher.configFile and jrs.remote.dispatcher.
Note that the dispatcher DemoRemoteDispatcher.java will read the clustered server information in the hostport.properties file
like below:
rmiserver=192.168.0.1:1129
rmiserver=192.168.0.2:1130
...

11. If you have set up JReport Server in a cluster, you can append their host and port information to the above text file.

12. Click the Save link in the Messages table and click Save button to save the changes, and then restart WebSphere 7.

Configuring the JReport Server cluster


1. Make sure JReport Server has been started once in order that the server.properties file is generated.

2. Change server.properties file in <server_install_root>\bin as follows:


server.rmiserver.enable=true
server.rmiadminservice.enable=true

Then you can start JReport Server and access your Server Pages with a URL such as:
http://hostname:9080/remote/jinfonet/submitSchedPage.jsp?jrs.cmd=jrs.submit_schedule&jrs.catalog=/SampleReports/
SampleReports.cat&jrs.task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.launch_type=0&jrs.
to_version_pdf=true&jrs.to_version=true&jrs.report=/cheping/CustomerAnalysis.cls&jrs.auth_uid=admin&jrs.
auth_pwd=admin
JReport Security System
In JReport Server, there are two types of security mechanisms. One is to deal with report security, and
the other is to manage user permissions on JReport Server. This chapter discusses these two
mechanisms respectively.
● Report security system

● Server security system


Report security system
This section demonstrates the control of access to reports and to different subsets of data by means of
defining report security. In general, report security can be classified into three groups: cached report
bursting, record level and column level. After applying report security, an end user will only see what
he or she is allowed to see.
The following topics explain the report security at each level in detail:
● Cached report bursting

● Record-level security and column-level security


Cached report bursting
Security in a report is a kind of privileged control. JReport supports cached report bursting which
creates a security mechanism for controlling access to the report. By defining which groups of data are
available to which users, groups, or roles, report results are created for each user, role and group.
When a user accesses the report result, JReport checks the user, group and role of the user and
merges the groups of data in the report the user is authorized to see and displays it to the user.
Cached report bursting is implemented with these security properties on the group panel: Cascade,
Grant, Groups, and Roles. The feature enables different users to view different data groups according
to their access privileges. It also applies to nested groups.
Cached report bursting operates 2 different ways depending on the output format selected and if the
report is ran on-demand or scheduled.
● Scheduled DHTML and HTML reports will create a report result with the report data for all possible
users. This allows the report to run with a single query to the DBMS to create the report for all users
in one pass. It is similar to report bursting, however, report bursting does not support DHTML and it
makes a separate physical report result for each user and the administrator needs to manually
restrict access to the results. When a user views the report result using cached report bursting,
JReport Server will use the security identifier of the user to restrict access to the data in the report to
the specific groups the security identifier is allowed to view. The end result is the same as the
bursting report in that the user sees only his data, the advantage to the administrator is there is only
one version result to manage.

● On-Demand and schedule non-DHTML and non HTML reports build a separate data result for each
request containing only the data the security identifier allows. In this way, it is similar to a report
using Record-level Security; however, the setup mechanism is different.

For detailed descriptions about setting up cached report bursting in reports, see Setting up a cached
report bursting policy for a report in the JReport Designer User's Guide.
This section focuses on how to view and schedule a report that has cached report bursting with JReport
Server.
● Viewing a report with cached report bursting

● Scheduling a report with cached report bursting

● Example: e-mailing billing reports


Viewing a report with cached report bursting
Since the control of report access is not possible without a user ID, the significance of this function is
only apparent after reports have been published to JReport Server and users access it using their
JReport User ID (security identifier).
When a client views a report with cached report bursting in JReport Server, the corresponding groups
will be displayed according to the security identifier. You can also advanced run reports with cached
report bursting in different formats, including DHTML, HTML, PDF, TEXT, Excel, PS, XML and Rich Text
Format (this feature does not support the RST and Applet formats).
To view a report with cached report bursting in JReport Server, the report must first be published to
the server from JReport Designer. For example, if in JReport Designer, the security for a report that is
grouped by the Customer_Region field has been set as follows:
● The user ID admin has the privilege to view the CA and MN groups of the report.

● The user ID jennifer has the privilege to view the BC group of the report.

Then,
1. Access the JReport Console page via a web browser with the user ID admin.

2. Browse to the report set that you are going to view.

3. Click the report set name, and you will then be able to view the CA and MN groups of the report.

4. If you log onto JReport Server with the user ID jennifer, you will then only be able to view the BC
group.

Note: When designing the report in JReport Designer, if the Cascade property is set to be false, the
specified group will only display its group header and footer.
Scheduling a report with cached report bursting
You can schedule a report with cached report bursting as a normal report. However, there are some
differences between the formats in which the report is to be published.

Scheduling to HTML/DHTML to version


When you schedule a task to publish a report with cached report bursting to the HTML and/or DHTML
formats to the versioning system, the scheduled result depends on the mode which is controlled by the
property server.enable.cachedreportbursting in server.properties in <install_root>\bin:

● When server.enable.cachedreportbursting=true which is the default, the scheduled result


includes full data. Then when end users view the result, they will see only the data they are
privileged to see according to the cached report bursting setting in the report. They can perform
interactive actions on the scheduled DHTML result as on other DHTML results, and the formulas,
summaries and other similar data will be recalculated based on the privileged data.

Note: If the report is cached report bursting and RLS/CLS mixed, then when other users other
than the user who did the scheduling view the scheduled HTML or DHTML result, a blank page is
displayed.
● When server.enable.cachedreportbursting=false, the scheduled result only contains the data
that the user who did the scheduling is allowed to see. This is primarily for compatibility with pre-8.2
versions of JReport.

Scheduling to e-mail
When you schedule a report with cached report bursting to publish it to e-mail, there is a slight
difference. JReport Server supports a multiple mail feature which enables sending the data results
directly to each user who is authorized to view the report.
Assuming that the catalog and report set containing the report have been published to JReport Server,
and two users admin and jennifer both have the permission to view the report. The following procedure
shows how to schedule a task on a report with cached report bursting to be published to e-mail.
1. Access the JReport Console page with user ID admin or jennifer.

2. Browse to the row that the report set is in, put the mouse pointer over the report set row and click
the Schedule button on the floating toolbar.

3. In the General tab, select the report with cached report bursting.

4. In the Publish tab, switch to the To E-mail sub tab and then check This report has Cached
Report Bursting. E-mail the report to each specified user.

5. Type the subject and select the result format, then click Finish.

JReport Server will get the e-mail addresses from the user accounts, and then send the report result to
admin and jennifer, with the contents in accord with their access right to the report.
Note: Before publishing to e-mail, make sure you have input the e-mail addresses of the users when
configuring JReport Server. To do this:
1. Access the JReport Administration page, click Security on the system toolbar, and then select
User from the drop-down menu.

2. In the User panel, choose the user name that you want to edit in the User ID column, and then
click it. You can then type in the e-mail address of the user.

Scheduling to other formats


When scheduling a report with cached report bursting to other formats, the scheduled result only
contains the report data that the user who does the schedule is allowed to see.
Example: E-mailing billing reports
Sometimes, sending pertinent report data to corresponding mail recipients is required. JReport Server
allows you to send a scheduled report result to the e-mail addresses accordingly, based on the cached
report bursting settings of the report and the user information stored in JReport Server (e.g. e-mail
address information). Therefore, each recipient will only be able to view certain parts of the report
data. However, using e-mail information of server users is not reliable, since a user ID that is
appropriate for the report doesn't always exist in JReport Server. In cases like this, the mails will not
be sent successfully. The best way to resolve this is to use an external e-mail information source by
implementing the UserMailList and UserMailListFactory API that JReport provides.
JReport provides two interfaces for you to retrieve user and e-mail information from a customized
source:
● jet.server.api.UserMailListFactory
Used to get the UserMailList instance implemented by the user.

● jet.server.api.UserMailList
Used to get e-mail information from a customized source.

You can implement multiple classes of interface UserMailList. Each of them may refer to a particular
report. By using the getInstance() method in the jet.server.api.UserMailListFactory interface, you can
get one implementation of the UserMailList. For more information on these two interfaces, see JReport
Server API Documentation.
The following is a simple example:
1. Here, there is a Customers table with customer names and their e-mail addresses, as illustrated
below. You can design a report using this table and others. Then apply cached report bursting for
this report, so that later in the server side, you can schedule the report and send pertinent data to
different recipients saved in this Customers table.

2. In JReport Designer, design a report and set cached report bursting for it. In this case, group the
report data by Customer Name, and then grant a formula FPageLevel to it. The content of the
formula FPageLevel is as below:
@"Customer Name";

This means that only the records of the specified group will be shown at runtime when you enter
with different IDs -- Customer Name, in this example.

3. Then in the server side, implement the two interfaces to import the e-mail lists saved in the
Customers table. Specifically, implement the jet.server.api.UserMailListFactory interface. The
getInstance() method should be implemented in this interface to get an instance of jet.server.api.
UserMailList. Take the following implementation as a reference, where the implementing class
name of the UserMailList interface is formatted as "UserMailList_" + report + "_Impl", such as
"UserMailList_InvoiceReport_cls_Impl".
import jet.server.api.*;
import jet.cs.util.*;
public class DemoUserMailListFactoryImpl implements UserMailListFactory {
public UserMailList getInstance(ServerInfo serverInfo) {
if (serverInfo == null) {
return null;
}
String rpt = null;
try {
rpt = serverInfo.getTaskProperties().getProperty(APIConst.TAG_REPORT);
} catch (RptServerException e) {
e.printStackTrace();
return null;
}
rpt = rpt.substring(rpt.lastIndexOf("/") + 1);
rpt = rpt.replace('.', '_');
rpt = rpt.replace(' ', '_');
String clsName = "UserMailList_" + rpt + "_Impl";
try {
UserMailList mailList = (UserMailList)Class.forName(clsName).newInstance();
return mailList;
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
return null;
}
}

4. Then implement the jet.server.api.UserMailList interface, which gets the user and e-mail
information from the customized data source. The following implementation gets the e-mail list
from the Customers table, which contains Customer Name and Customer E-mail columns.
import jet.server.api.*;
import java.util.*;
import java.sql.*;
public class UserMailList_InvoiceReport_cls_Impl implements UserMailList {
public static Hashtable userEmails = new Hashtable();
private String curRealmName = "defaultRealm";
public UserMailList_InvoiceReport_cls_Impl()
{
loadData();
}
private void loadData ()
{
try{
String jdbcDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
DriverManager.registerDriver((Driver)Class.forName(jdbcDriver).newInstance());
Connection conn = DriverManager.getConnection("jdbc:odbc:jinfonet4");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from Customers");
String userName = null;
String userEmail = null;
while(rs.next()){
userName = rs.getString("Customer Name");
userEmail = rs.getString("Customer Email");
if (userEmail != null) {
userEmails.put(userName, userEmail);
}
}
}catch(Exception e){
e.printStackTrace();
}
}
public java.util.Enumeration getAllMailAddresses(String realmName){
if (realmName.equals(curRealmName)) {
return userEmails.elements();
}else{
return null;
}
}
public java.util.Enumeration getGroupMailAddresses
(String realmName, String groupName) {
if (realmName.equals(curRealmName) && userEmails.containsKey(groupName)) {
Vector groupEmails = new Vector();
groupEmails.addElement(userEmails.get(groupName));
return groupEmails.elements() ;
}else{
return null;
}
}
public java.util.Enumeration getRoleMailAddresses
(String realmName, String roleName) {
if (realmName.equals(curRealmName) && userEmails.containsKey(roleName)) {
Vector roleEmails = new Vector();
roleEmails.addElement(userEmails.get(roleName));
return roleEmails.elements() ;
}else{
return null;
}
}
public java.lang.String getMailAddress(String realmName, String userName) {
if (realmName.equals(curRealmName) && userEmails.containsKey(userName)) {
return (String)userEmails.get(userName);
}else{
return null;
}
}
}

5. Register the above classes to JReport Server before the server is started.
a. Add the parameter -Dcom.jinfonet.mailListFactory=UserMailListFactoryImplName to the
command line/batch file that starts JReport Server, where UserMailListFactoryImplName
indicates the implementation of the jet.server.api.UserMailListFactory interface.
In this case, the parameter should be -Dcom.jinfonet.
mailListFactory=DemoUserMailListFactoryImpl.

b. Add the path of the implementation classes to the class path of the command line/batch file.

6. Start JReport Server and then publish the report and catalog.

7. Schedule the report, publish to e-mail, check the option This report has Cached Report
Bursting. E-mail the report to each specified user. Provide the necessary information and
then submit the schedule.

The report will be processed and sent to the corresponding recipients with pertinent report data.
Record-level security and column-level security
The record-level security (RLS) and column-level security (CLS) of JReport Designer allow you to
control user access to different subsets of data and ensure that people only see what they are
supposed to see: record-level security allows you to define which records are to be revealed to any
given user, while column-level security allows you to define which report column is revealed to any
given user. This enables you to provide different users with accordingly different, but appropriate
contents. No matter to whom you need to provide information, a plant manager or thousands of
customers, JReport Designer allows you to control access to information according to your
requirements.
JReport Designer have two types of the security policies, one is a security policy based on a data
source connection (connection-scope security policy), and the other is a security policy based on a
single report (report-scope security policy).
● Connection-scope security
You can build connection-scope security policies: where each security policy refers to a data source
connection in the catalog. If you want to implement the same security policy in a group of reports,
you can simply apply an existing security policy to the report, without having to repeatedly build
security information for each report. Both RLS and CLS can be connection-scope security.

● Report-scope security
Additionally, record-level security can be of report scope, based on the security information file. That
is, you can use the security information file to set the security policies for a report. Report-scope
security policy doesn't support column-level security.

Record-level security can be applied simultaneously to both connection and report scopes. However, if
a report-scope security policy has already been applied to a report, it will override a connection-scope
security policy applied to the report. That is, report-scope security policies have a higher priority than
connection-scope security policies.

Running reports with record-level/column-level security


After setting up the security policy for a report in JReport Designer, you can then publish it to JReport
Server as normal. Then, when you log onto the server as different users, you will find that the security
settings are applied to the report. That is, different users will only see the data they are supposed to
see.
Note: The report designer defined users and roles may not be recognized by JReport Server. If your
security policies contain such users/roles, create these users and roles respectively in JReport Server,
and then in JReport Designer, synchronize the security information with JReport Server using the Merge
option.
See also Record-level and column-level security in the JReport Designer User's Guide for details about
how to set up record-level/column-level security policies and apply them to reports in JReport Designer.
Server security system
JReport Server supports two types of security mechanism. One is the default applied security of setting
permissions for users, groups and roles. The other is role based security in which permissions are
defined on roles only, and users and groups are mapped to roles.
The JReport Server security system is implemented based on a whole set of Security APIs, with which
you can customize your own implementation. JReport Server also provides two sets of implementations
for you to directly adopt. One is an implementation based on a database that makes the built-in
security system. The other is an LDAP implementation to be used when JReport Server can directly
access an LDAP server.
Accessing data by direct API implementation may result in many time-consuming IO operations. As a
result, the performance of the server security system may be lowered. In order to promote
performance, a cache system is added between the security service and the Security API. The cache
system is used to store security objects including users, groups, roles and ACLs for the security system.
The following is a diagram of the JReport Server security system structure:

Go through the following topics for details about the server security system:
● Built-in security system

● Role based security

● Security cache system

● Customized implementation of the Security API

● Single sign-on
● Using an LDAP server's security system
Built-in security system
JReport Server provides a built-in security system for you to set up and maintain security on it and
protect resources from inappropriate access by users.
The below diagram illustrates the built-in security structure in JReport Server:

And the below diagram illustrates the inherited relationship among User, Group and Role.

JReport Server offers these security features:


● Realm
Realm is an abstract security concept, which hosts the resources and authentication entities on
JReport Server. There can be more than one realm on the server and each realm is independent from
others. The resources and authentication entities that reside in different realms are different.
At runtime, only one realm can be active and only the users and resources in the active realm are
accessible. A realm is identified by a unique name, which can contain any characters other than
forward slash (/) and backward slash (\).
The authentication entities consist of user accounts, group accounts and role accounts.

● User
To use JReport Server, you must have a user account, which consists of a unique user name and
password. JReport Server verifies your identity when you type in your user name and password, and
then logs you on. If your user account has been disabled or deleted, JReport Server prevents you
from accessing the web services that it provides, in order to ensure that only valid users have access.
JReport Server comes with two built-in user accounts, admin and guest. The built-in user accounts
cannot be deleted. The Admin user account can neither be deleted nor disabled.

● Group
The principle group, which represents an organization of user accounts, is available for managing
users. Users or groups can be added into a group as its child members, and therefore inherit the
resource and folder permissions from the group.

● Role
Users must have certain user rights and permissions in order to perform tasks on resources. Roles,
which represent an aggregate of permissions, help you to efficiently assign the appropriate user
rights and permissions to users. Assigning roles to users gives the users all of the user rights and
permissions of the roles to perform their jobs with. A role can also be assigned to other groups or
roles, and thus groups or roles can inherit the permissions of other roles. JReport Server comes with
two built-in role accounts, administrators and everyone. The built-in role accounts cannot be deleted.
The administrator role account can neither be deleted nor disabled.

● Permission
Permissions, associated with resources and folders, are the rules that are granted to users to control
their access to the resources and folders.
Permissions in JReport Server include:

Permission Description
Visible Allows or denies viewing object names in the resource tree or version table, such as
folders, resources, and archive versions.
Read Allows or denies viewing object properties, versions, and, if it is a folder, folder
content.
Write Allows or denies publishing folders and resources, changing the properties (not
including permission settings) of the objects in the resource tree or version table,
such as folders, resources, and archive versions, and modifying version table settings.
Delete Allows or denies deleting objects in the resource tree or version table, such as
folders, resources, and archive versions.
Execute Allows or denies running resources in normal and Advanced mode (report set type
resources only).
Schedule Allows or denies submitting resources to schedules (report set type resources only).
Grant Allows or denies granting permissions to other users, groups or roles. Users, groups
or roles that have obtained the Grant permission are also endowed with the other
seven permissions - Visible, Read, Write, Delete, Execute, Schedule, and Update
Status, and can grant these seven permissions except the Grant permission itself.
Update Allows or denies updating report set status, and if it is a folder, the status of report
Status sets in the folder.

● Privilege
Privilege is a mode for managing permissions. It can be used to manage different access permissions
unrelated with nodes. JReport Server offers two types of privileges for users: Publish and Advanced
Properties. Users that are granted the Publish privilege will be able to publish resources to JReport
Server, while users that have the privilege of Advanced Properties are allowed to view advanced
information of version properties such as catalog connections and report set related resources.

● Alias
JReport Server organizes file and directories into a Resource Tree. Aliases are used to provide
different "views" of a tree for different users to enter the Resource Tree. For example, you may set
an alias resource tree (based on the resource tree) for Tanya, so that she can only see the market
resource node and thus can directly walk into the report set file she is interested in. In summary, an
alias is a combination of users and resource nodes.

To manage JReport Server's built-in security, you must be a member of the administrator role in order
to access the JReport Administration page.

Related topics:
● Managing security
Role based security
In addition to the security system based on users, groups and roles, JReport Server also supports a
role based security system in which permissions are defined on roles only, and users and groups are
mapped to roles.
To switch to the role based security system, you can use either of the following two methods:
● Check the Role Based Authorization option on the JReport Administration page > Configuration >
Advanced panel.
By default, the option is unchecked and the security mechanism of setting permissions for users,
groups and roles is applied. If the option is checked, the Permission Setting UI Displays option will be
hidden automatically, since it is used to control UI display and is of no use in the role based security
environment.

● In the server.properties file, set server.rolebased.authorization to true.


In this case, the following three properties will not take effect since they control UI display of setting
user/group/role permissions:
server.ui.set_permissions.group
server.ui.set_permissions.role
server.ui.set_permissions.user

If the role based security system is used, in both the JReport Administration page (port 8889 by
default) and Console page (port 8888 by default), when you set permissions of a resource node, there
are only roles displayed. Role only based security is similar to Java EE security where the developer
assigns roles and during deployment users and groups can be mapped to the roles so if you are already
using Java EE security, this would be the best method.
Security cache system
The security cache system temporarily stores security objects such as users, roles, groups and ACLs.
ACL, short for Access Control List, is the core object of the security authorization system, and is in
charge of storing and checking principal permissions. When JReport Server requires information from
the security system, it can fetch it from the cache for better performance.
The cache system caches not only security objects for the built-in security system, but also those
implemented by the Security API from the external security system. It caches security information in
the security data. If the security service needs security information, it will fetch it from the security
data. However, if the security data cannot find the information, it will request it from the Security API,
and then cache it in the cache system. When the security information is modified in the security
system, the Security API is invoked directly in order to modify the security data.
Note: There is a special interface SecurityListener in the cache system, through which the cache is
noted to update the cached information. It is recommended that you invoke it when you access the
external security system, so as to synchronize security data between the cache system and the
external security system.
The following focuses on the configuration and synchronization of the security cache system:
● Configuration of the security cache system

● Synchronization of the security cache system


Configuration of the security cache system
The security cache system enables you to define the maximum number of users, roles, groups and ACL objects that
can be cached. There are three ways in which you can customize the security cache system as explained below:

Configuring by editing the server.properties file


Edit the following four properties:
● server.security.user.cache.size
This should be an integer value. Its value indicates the maximum number of user objects that the security cache
can store. The default value is 1000.

● server.security.role.cache.size
This should be an integer value. Its value indicates the maximum number of role objects that the security cache
can store. The default value is 50.

● server.security.group.cache.size
This should be an integer value. Its value indicates the maximum number of group objects that the security
cache can store. The default value is 50.

● server.security.protection.cache.size
This should be an integer value. Its value indicates the maximum number of ACL objects that the security cache
can store. The default value is 100.

For instance,
● If server.security.user.cache.size=1000, the cache can then store at most 1000 user objects.

● If server.security.role.cache.size=100, the cache can then store 100 role objects.

● If server.security.group.cache.size=100, the cache can then store 100 group objects.

● If server.security.protection.cache.size=100, the cache can then store 100 ACL objects.

Configuring from the JReport Administration page


You must be a member of the administrator role in order to access the JReport Administration page.
1. Log onto the JReport Administration page, click Configuration on the system toolbar, and then select Cache
from the drop-down menu.

2. In the Cache panel, switch to the Security Cache tab, four options are provided for specifying the cache size:
❍ User Cache Size
The maximum number of user objects that the security cache can store. Should be an integer value.

❍ Role Cache Size


The maximum number of role objects that the security cache can store. Should be an integer value.

❍ Group Cache Size


The maximum number of group objects that the security cache can store. Should be an integer value.

❍ Protection Cache Size


The maximum number of ACL objects that the security cache can store. Should be an integer value.

3. When done, click Save to apply the settings.

Configuring using the API method


Invoke the following methods in the API class jet.server.api.admin.cfg.ConfigurationAdvanced:
/**
* Set the security user cache's size
* Setting the size of the cache to zero or negative means closing the security user cache.
* @param size
*/
public void setSecurityUserCacheSize(int size);

/**
* Get the size of the security user cache
* @return the size of the security user cache
*/
public int getSecurityUserCacheSize();

/**
* Set the size of the security role cache
* Setting the size of the cache to zero or negative means closing the security role cache
* @param size
*/
public void setSecurityRoleCacheSize(int size);

/**
* Get the size of the security role cache
* @return the size of the security role cache
*/
public int getSecurityRoleCacheSize();

/**
* Set the size of the security group cache
* Setting the size of the cache to zero or negative means closing the security group cache
* @param size
*/
public void setSecurityGroupCacheSize(int size);

/**
* Get the size of the security group cache
* @return the size of the security group cache
*/
public int getSecurityGroupCacheSize();

/**
* Set the size of the security protection cache
* Setting the size of the cache to zero or negative means closing the security protection cache
* @param size<
*/
public void setSecurityProtectionCacheSize(int size);

/**
* Get the size of the security protection cache
* @return the size of the security protection cache
*/
public int getSecurityProectionCacheSize();
Synchronization of the security cache system
A synchronization system has been provided for synchronizing JReport Server's security system with
your external security systems. When the security cache system receives a security information
modification event, it will then fetch the security information from the API and update the cached
information.
The following is a diagram of the synchronization system mechanism:

There are two ways to invoke the synchronization system. The first is to modify the security
information on our Server web UI (red line), and the second is to modify the external security system
(blue line).
Customized implementation of the Security API
JReport Server provides a set of Security APIs which you can implement in order to build your preferred security
system. This section discusses the basic rules and implementation of the Security API.

Partial Implementation of the Security API


The Security API can meet various requirements for seamlessly integrating the JReport security system into an existing
external security system.
By implementing all interfaces, you provide full functions to the JReport Server security system. However, if you do not
want to provide a complete security system to your JReport Server, but only to use part of the functions available, you
can achieve this by implementing the interfaces that meet your requirements.
Here are some examples:
Example 1
Requirements: You only want to customize authentication and authorization.
The following interfaces are required to be implemented:
● AuthenticationProvider

● AuthorizationProvider

Example 2
Requirements: You want to customize authentication and users, while the JReport Server maintains other functions of
the security system.
The following interfaces are required to be implemented:
● AuthenticationProvider

● UserProvider

Example 3
Requirements: For CLS/RLS scenario, you must provide user/role information.
The following interfaces are required to be implemented:
● AuthenticationProvider

● UserProvider

● RoleProvider

● RoleUserRelationProvider

Implementing the Security API using an .xml file


You can specify a customized implementation of the Security API in a .xml file. The JReport Server loads classes
according to this file.
The file is customizedAPI.xml in <install_root>\bin. Specify the content in the .xml file as below:
<?xml version="1.0" encoding="UTF-8"?>

<jreport-customized-api>
<security>
<authentication-provider>com.customer.security.AuthenticationProviderImpl</authentication-provider>
<authorization-provider>com.customer.security.AuthorizationProviderImpl</authorization-provider>
<user>
<provider>com.customer.security.user.UserProviderImpl</provider>
<permission-provider>com.customer.security.user.UserPermissionProviderImpl</permission-provider>
<privilege-provider>com.customer.security.user.UserPrivilegeProviderImpl</privilege-provider>
</user>
<group>
<provider>com.customer.security.group.GroupProviderImpl</provider>
<permission-provider>com.customer.security.group.GroupPermissionProviderImpl</permission-provider>
<privilege-provider>com.customer.security.group.GroupPrivilegeProviderImpl</privilege-provider>
</group>
<role>
<provider>com.customer.security.role.RoleProviderImpl</provider>
<permission-provider>com.customer.security.role.RolePermissionProviderImpl</permission-provider>
<privilege-provider>com.customer.security.role.RolePrivilegeProviderImpl</privilege-provider>
</role>
<relation>
<role-group>com.customer.security.relation.RoleGroupRelationProviderImpl</role-group>
<role-user>com.customer.security.relation.RoleUserRelationProviderImpl</role-user>
<group-user>com.customer.security.relation.GroupUserRelationProviderImpl</group-user>
</relation>
</security>
</jreport-customized-api>

Rules for applying customized Security API


The following are rules for applying customized Security API:
● AuthenticationProvider is a core interface and must be implemented. It is first loaded when JReport Server loads a
customized Security API.

● There are dependency relationships among some interfaces:


Interfaces PermissionProvider and PrivilegeProvider depend on the corresponding principal interface provider. For
example, the prerequisite for applying a customized UserPermissionProvider is that a customized UserProvider has
been applied.
Interface RelationProvider depends on both the corresponding principal interfaces. For example, the prerequisite for
applying a customized GroupUserRelationProvider is that a customized UserProvider and GroupProvider have been
applied.

● If you partly implement the Security API, the JReport Server will automatically provide implementation of some
missed but required interfaces, in order to build an integrated security system. Below are the rules:
❍ If customized implementations of Providers have not been applied, the JReport Server will apply built-in
implementations of these Providers, including: AuthorizationProvider, UserProvider, GroupProvider, RoleProvider,
GroupUserRelationProvider, RoleGroupRelationProvider, and RoleUserRelationProvider.

❍ If you have applied a PermissionProvider or PrivilegeProvider, but not applied an AuthorizationProvider, the JReport
Server will apply the built-in implementation of the AuthorizationProvider.

● If you have applied an AuthorizationProvider, but not applied a PermissionProvider or PrivilegeProvider, for example,
UserPermissionProvider or UserPrivilegeProvider, the JReport Server will not apply the built-in implementation of the
PermissionProvider or PrivilegeProvider.

Notes:
● For details about the Security APIs, see the jet.server.api.custom.security package in JReport Server Javadoc in
<install_root>\help\server\en\api.
● Demo references available in <install_root>\help\server\en\samples:

❍ DemoAuthenticationProvider.java
Demo for implementation of the jet.server.api.custom.security.AuthenticationProvider interface.

❍ DemoAuthorizationProvider.java
Demo for implementation of the jet.server.api.custom.security.AuthorizationProvider interface.

● In V8, two new methods addSecurityListener() and isEnableEdit() are added into the API jet.server.api.custom.
security.AuthenticationProvider. If you have upgraded your JReport Server from V7 to a higher version, and have
applied customized implementation of AuthenticationProvider in V7, you need implement the new methods in the API.

● JReport Server provides the ability to use customized user authentication scheme by the implementation of the two
interfaces jet.server.api.custom.security.AuthenticationProvider and jet.server.api.custom.security.
AuthorizationProvider. In addition, the way of implementing the deprecated Security API interface jet.server.
userman.UserAuthenticator is also supported and you can refer to the following demos for reference, which are
located in <install_root>\help\server\en\samples:

❍ If you want to use JReport Server as a servlet in your system, see Demo1UserAuthenticator.java.

❍ If you want to use your user data, you need load your data in the structural method. See Demo2UserAuthenticator.
java, Demo2Realm.java, Demo2User.java and demo2data.txt for reference.
Single sign-on
When JReport Server is integrated into your system, it will implement a security check. If your system
also checks security, you will have to pass through authentication twice. To deal with this problem,
JReport Server provides Single Sign-On APIs for you to pass login information from your external
security system to the JReport Server security system in order to avoid a second login requirement by
JReport Server after you have logged into your external system. You can either disable the JReport
Server security check or customize security for JReport Server by implementing the interface - jet.
server.api.http.HttpExternalAuthorized.

Interface ExternalAuthorized
The interface jet.server.api.ExternalAuthorized maintains externally authorized user sessions. It has
the following methods:
● getExternalAuthorizedUser
Gets and returns the externally authorized user ID. The user ID should be a valid user ID of the
report server. Null will be returned if the authorized user info cannot be obtained from the userInfo
object.

● askInvalidate
Asks whether to invalidate an externally authorized user session (i.e. the session has expired). The
report server calls this method before the session is invalidated. The server does not call this method
if a user logs out.

● notifyLogout
Notifies an external authorized user session logout. The report server calls this method after user
logout.

Interface HttpExternalAuthorized
The interface jet.server.api.http.HttpExternalAuthorized extends jet.server.api.ExternalAuthorized. By
this interface, the report server gets the user ID that is authorized by an external authenticator. It has
the following methods:
● getExternalAuthorizedUser
Gets the externally authorized user ID. Returns null if the authorized user info cannot be obtained
from the HttpServletRequest object. The user ID should be a valid user ID of the report server.

● handleUnAuthenticatedRequest
Handles unauthenticated requests. The report server calls this method before sending the HTTP
unauthorized response (HTTP 401) to the client. This method allows you to send your response to the
client to handle an unauthenticated request. If this method returns true, the report server will send
the HTTP unauthorized response (HTTP 401) to the client. Otherwise the report server does nothing.

Implementation
For implementation in an integration environment, the following steps are required:
1. Write your HttpExternalAuthorized implementation.

2. Compile Java classes. Compiling requires the library JRESServlets.jar, which can be found in WEB-
INF\lib directory.

3. Create a folder classes in the WEB-INF folder and then add the authentication classes in the
classes folder.

4. Define the system property jrs.httpExternalAuthorized with your implementation by -D parameter.


For example, assuming that the implementation of this interface is com.mycorp.
HttpExternalAuthorizedImpl.class:
-Djrs.httpExternalAuthorized=com.mycorp.HttpExternalAuthorizedImpl

Demos
The following demo programs are provided to illustrate the implementation of the
HttpExternalAuthorized interface. These demos are available in <install_root>\help\server\en
\samples.

● CustomHttpExternalAuthorized.java
Demo for implementation of HttpExternalAuthorized.

● CustomServlet.java
Demo to set implementation of HttpExternalAuthorized into the report server.

● customViewReport.jsp.zip
The following demos are contained in the zip:
❍ customNoAuth.jsp
Demo to set implementation of HttpExternalAuthorized into the report server. No external
authorized user name is submitted in this demo.

❍ customParamAuth.jsp
Demo to set implementation of HttpExternalAuthorized into the report server. External authorized
user name is submitted by parameter in this demo.

❍ customSessionAuth.jsp
Demo to set implementation of HttpExternalAuthorized into the report server. External authorized
user name is submitted by http session in this demo.

❍ customViewReport.jsp
Demo to work together with customNoAuth.jsp, customParamAuth.jsp and customSessionAuth.jsp
to view a report.
Using an LDAP server's security system
The server security system can run two modes in which you can use an LDAP server's security system.
The first is importing mode. In this mode, if you want to use the LDAP feature, you will have to import
the security information from an LDAP server. The second is non-importing mode. With this mode,
JReport Server can access an LDAP server and obtain LDAP security information directly without having
to import it.
Below is a diagram which illustrates these two working modes:

JReport Server can access an LDAP server using the LDAP implementation of the Security API (blue
line), and import security information from an LDAP server into the built-in security system (red line).
To use an LDAP server's security system, you should first enable JReport Server to adapt to a directory
server by configuring the settings in the Server tab (accessed by selecting Configuration > LDAP on
the JReport Administration page), making sure that the Enable LDAP Support option has been checked.
Notes:
● Make sure that the Directory Manager DN is a user with prior LDAP Server permission, and who can
retrieve other LDAP users.

● Make sure that the users and groups you want to query and import into JReport Server belong to the
organization you typed into the Distinguished Name field.

Pick a topic from the following to get more:


● Examples of LDAP server configuration

● SSL support in LDAP system

● Limitations of LDAP support


● Using LDAP server security information by importing

● Using LDAP server security information via the LDAP implementation of the Security API
Examples of LDAP server configuration
Six directory servers are currently supported. These are:
● Novell Directory Server

● Microsoft Site Server

● iPlanet Directory Server

● Active Directory Advanced Server

● Lotus Domino Server

● OpenLDAP Directory Server

If you need access to a different directory server, contact your JReport Sales Representative. New
servers are frequently being added.
The following sections provide examples of settings which enable JReport Server to adapt to these
directory servers. They are as follows:
● Example 1: Configuration for adapting to a Novell Directory Server

● Example 2: Configuration for adapting to a Microsoft Site Server

● Example 3: Configuration for adapting to an iPlanet Directory Server

● Example 4: Configuration for adapting to the Active Directory Advanced Server

● Example 5: Configuration for adapting to a Lotus Domino Server on NT

● Example 6: Configuration for adapting to an OpenLDAP Directory Server


Example 1: Configuration for adapting to a Novell Directory Server
If you want to get all users and groups from the orgunit organizational unit, you should follow the steps
below to configure your Server tab on the JReport Administration page > Configuration > LDAP panel:
1. Select Novell Directory Server from the Select LDAP Server drop-down list, and then click Load
Settings. The settings of the Novell Directory Server will then be loaded.

2. Check the Enable LDAP Support checkbox, and input the following information:
❍ LDAP URL: ldap://IP address or host name of your Novell Directory Server (for example:
ldap://127.0.0.1)

❍ LDAP Server Port: 389

❍ Root Entry: o=the name of the root (for example: o=myorg)

❍ Directory Manager DN: cn=user name of the directory manager,o=context (for example:
cn=admin,o=context)

❍ Password: the password of the Directory Manager (for example: 1234)

❍ Encryption Type: None

❍ Import LDAP Groups to: Group

❍ User Schema
■ Distinguished Name:ou=the name of the organization unit where you want to perform a
search for users (for example: ou=orgunit)

■ Filter: (&(cn=the filter criteria that you want to set )(objectclass=person)) (for example: (&
(cn=*)(objectclass=person)))

❍ Group Schema
■ Distinguished Name: ou=the name of the organization unit that you want to perform a search
for groups (for example: ou=orgunit)

■ Filter: (&(cn=the filter criteria that you want to set )(objectclass=groupofuniquenames)) (for
example: (&(cn=*)(objectclass=groupofuniquenames)) )

■ Admin Group: The name of the group you want to add to the Admin group (for example:
develop)

3. You can test the connection settings by clicking the Test Connection button, get the query result
of the users specified in the option Filter by clicking the Query User button, and get the query
result of groups specified in the option Filter by clicking the Query Group button.

4. Click Save to save all settings.


Example 2: Configuration for adapting to a Microsoft Site Server
Follow the steps below to configure your Server tab on the JReport Administration page > Configuration
> LDAP panel. You can get all users from the members organizational unit and all groups from the
groups organizational unit.
1. Select Microsoft Site Server from the Select LDAP Server drop-down list, and then click Load
Settings. The settings of the Microsoft Site Server will be loaded.

2. Make sure that the Enable LDAP Support checkbox is selected, and input the following
information:
❍ LDAP URL: ldap://IP address or host name of your Microsoft site Server (for example:
ldap://127.0.0.1)

❍ LDAP Server Port: 1003

❍ Root Entry: o=test

❍ Directory Manager DN: cn=administrator,ou=members,o=test

❍ Password: test

❍ Encryption Type: None

❍ Import LDAP Groups to: Group

3. You can test connection settings by clicking the Test Connection button, get the query result of
users specified in the option Filter by clicking the Query User button, and get the query result of
groups specified in the option Filter by clicking the Query Group button.

4. Click Save to save all settings in this tab.


Example 3: Configuration for adapting to an iPlanet Directory Server
Follow the steps below to configure your Server tab on the JReport Administration page > Configuration
> LDAP panel. You can get all users in the people organizational unit and all groups in the groups
organizational unit.
1. Select iPlanet Directory Server from the Select LDAP Server drop-down list, and then click Load
Settings. The settings of iPlanet Directory Server will then be loaded.

2. Make sure that the Enable LDAP Support checkbox is selected, and input the following
information:
❍ LDAP URL: ldap://IP address of your iPlanet Directory Server

❍ LDAP Server Port: 389

❍ Root Entry: dc=mailbj,dc=jinfonet,dc=com

❍ Directory Manager DN: cn=directory manager

❍ Password: jinfonet

❍ Encryption Type: None

❍ Import LDAP Groups to: Group

3. You can test the connection settings by clicking the Test Connection button, get the query result
of users specified in the option Filter by clicking the Query User button, and get the query result
of groups specified in the option Filter by clicking the Group Query button.

4. Click Save to save all the settings in this tab.


Example 4: Configuration for adapting to the Active Directory Advanced Server
Follow the steps below to configure your Server tab on the JReport Administration page > Configuration
> LDAP panel. You can get all users and groups from the myorg organizational unit.
1. Select Win2000 Active Directory from the Select LDAP Server drop-down list, and then click
Load Settings. The settings are then cleared and you can input your information.

2. Make sure that the Enable LDAP Support checkbox is selected, and input the following
information:
❍ LDAP URL: ldap://IP address of your Windows 2000 Advanced Server

❍ LDAP Server Port: 389

❍ Root Entry: DC=testad,DC=local

❍ Directory Manager DN: CN=administrator,CN=Users,DC=testad,DC=local

❍ Password: 1234

❍ Encryption Type: None

❍ Import LDAP Groups to: Group

❍ User Schema
■ User Attribute Name: cn

■ User Common Name: userPrincipalName

■ User Password: userPassword

■ Distinguished Name: ou=myorg

■ Filter: (&(cn=*)(objectclass=person))

❍ Group Schema
■ Group Common Name: cn

■ Group Member Type: member

■ Distinguished Name: ou=myorg

■ Filter: (&(cn=*)(objectclass=group))

3. You can test the connection settings by clicking the Test Connection button, get the query result
of users specified in the option Filter by clicking the Query User button, and get the query result
of groups specified in the option Filter by clicking the Group Query button.

4. Click Save to save all settings in this tab.


Example 5: Configuration for adapting to a Lotus Domino Server on NT
By following the steps below to configure your Server tab on the JReport Administration page >
Configuration > LDAP panel, you can get all users and groups from the developer organization unit.
1. Select Lotus Domino on NT from the Select LDAP Server drop-down list, and then click Load
Settings. The settings are then cleared and you can input your information.

2. Make sure that the Enable LDAP Support checkbox is selected, and input the following
information:
❍ LDAP URL: ldap://IP address of your Lotus Domino Server

❍ LDAP Server Port: 389

❍ Root Entry:

❍ Directory Manager DN: cn=admin,o=jtotal

❍ Password: 123456

❍ Encryption Type: None

❍ Import LDAP Groups to: Group

❍ User Schema
■ User Attribute Name: uid

■ User Common Name: cn

■ User Password: userPassword

■ Distinguished Name: ou=developer, o=jtotal

■ Filter: (&(cn=*)(objectclass=person))

❍ Group Schema
■ Group Common Name: cn

■ Group Member Type: member

■ Distinguished Name:

■ Filter: (&(cn=*)(objectclass=groupofnames))

3. You can test the connection settings by clicking the Test Connection button, get the query result
of users specified in the option Filter by clicking the button Query User, and get the query result
of groups specified in the option Filter by clicking the Query Group button.

4. Click Save to save all settings in this tab.


Example 6: Configuration for adapting to an OpenLDAP Directory Server
By following the steps below to configure your Server tab on the JReport Administration page >
Configuration > LDAP panel, you can get all users and groups from the developer organization unit.
1. Select OpenLDAP Directory Server from the Select LDAP Server drop-down list, and then click
Load Settings. The settings are then cleared and you can input your information.

2. Make sure that the Enable LDAP Support checkbox is selected, and input the following
information:
❍ LDAP URL: ldap://IP address of your OpenLDAP Directory Server (for example:
ldap://127.0.0.1)

❍ LDAP Server Port: 389

❍ Root Entry: dc=openldap, dc=ldaptest

❍ Directory Manager DN: cn=Manager,dc=openldap,dc=ldaptest

❍ Password: 123456789

❍ Encryption Type: None

❍ Import LDAP Groups to: Group

❍ User Schema
■ User Attribute Name: uid

■ User Common Name: cn

■ User Password: userPassword

■ Distinguished Name: ou=members


Filter: (&(uid=*)(objectclass=person))

❍ Group Schema
■ Group Common Name: cn

■ Group Member Type: uniqueMember

■ Distinguished Name: ou=groups

■ Filter: (&(cn=*)(objectclass=groupofuniquenames))

■ Admin Group:

3. You can test the connection settings by clicking the Test Connection button, get the query result
of users specified in the option Filter by clicking the Query User button, and get the query result
of groups specified in the option Filter by clicking the Query Group button.

4. Click Save to save all settings in this tab.


SSL support in LDAP system
JReport Server's LDAP system supports SSL when connecting to an LDAP server for obtaining security
information.

Solving the wrong connection port type problem


JReport implements a method in the security system to solve the wrong connection port type problem.
The wrong connection port type problem in SSL protocol
If you use an SSL socket to connect to a server on a port that is not using SSL, or if you use a plain
socket to connect to a server's SSL socket, your program will hang. This is a characteristic of the SSL
protocol.
Method to avoid the wrong connection port type problem
Use a main thread to create a child thread for connecting to the LDAP server. The main thread can wait
on the child thread for a period of time-- the socket timeout time (This time can be set by users). If the
child thread creates an LDAP connection successfully, it will notify the main thread, and the program
will continue to run. However, if the child thread hangs due to using the wrong port type, the main
thread will only need to wait until the socket timeout time has been reached and can continue to run.
A Parameter setting in the method
There is an important parameter in this method: the socket timeout time. Since the connection time
varies with the user's network environment, it is better to set it in LDAPProperties.xml: modify the
element env-socketTime's value before the server is started. Its default value is 10, which means that
the socket timeout time is 10 seconds. You can modify this value according to your network
environment.

About SSL certificate store in JReport Server


Since JNDI uses the default SSL provider, the certificates will be checked by JSSE's default
TrustManager: X509TrustManager. If the TrustManager does not accept them, JReport Server will store
the SSL certificates into another key store file. This file is placed in <install_root>\properties
\LDAPKeyStore.keystore. The password to access the file is jinfonet. You can also use -D parameters
to specify another file and password. For instance, if you want to add the certificates into: C:\certs
\certs.keystore, and use the password test, you should add the following parameters to JReport
Server's startup file:
"-Djavax.net.ssl.trustStore= C:\certs\certs.keystore"
"-Djavax.net.ssl.trustStorePassword=test"

Note: The LDAP service provider uses JSSE for its SSL support. JSSE is available as part of Java 2
SDK, v1.4. As for earlier versions of the Java platform, you can turn to http://java.sun.com/products/
jsse for information. To use JSSE on a platform earlier than Java 2 SDK, v1.4, first install JSSE, and
then configure a JSSE provider either by updating the JAVA_HOME/lib/security/java.security file with
the provider or by adding the provider programmatically. Here JAVA_HOME refers to the directory
where the Java Runtime (JRE) software has been installed. Detailed steps can be found in the JSSE
Reference Guide.
Limitations of LDAP support
In the LDAP page, sessions are used to remember passwords and the status of the remember password
checkbox. Due to this, when the session exceeds the time limit, there are some limitations:
● If the Load Settings button is clicked, and the session has expired, the user must log onto JReport
Server again. After that, the retained password will be lost.

● If the session expires due to idling, when logging back onto JReport Server again, the retained
password will be lost.
Using LDAP server security information by importing
LDAP (Lightweight Directory Access Protocol) is a lightweight client-server protocol for accessing
directory services. With LDAP support, JReport Server enables you to import users/groups from
directory servers.
To import LDAP security server information, on the JReport Administration page, click Configuration >
LDAP > Import. In the Import tab, you can use LDAP users and groups in JReport Server by
importing them. In addition, in order to have the most current security information, you can
synchronize the security information from your local server with that of the LDAP server. To do this, on
the JReport Administration page, click Configuration > LDAP > Synchronize, where you can
predefine a role map for the imported LDAP users.
However, if you have checked Enable Auto-Import of Users from LDAP Server, users will automatically
be imported into JReport Server when they log in for the first time. The Enable LDAP Support and
Enable Auto-Import of Users from LDAP Server options in the Configuration > LDAP > Server tab work
together. The former determines whether an imported LDAP user can be used in JReport Server, and
the latter determines whether LDAP users can be imported automatically, as shown in the following
table:

=Checked; =Unchecked

Enable
Auto-
Enable Import of Can
LDAP Users be
Support from used
LDAP
Server
Local User YES
YES
YES
YES

Imported YES
LDAP User
YES
NO
NO

None- YES
Imported
NO
LDAP User
NO
NO
Using LDAP server security information via the LDAP implementation of the Security API
JReport Server can access an LDAP server directly using the LDAP Security API implementation. To achieve
this, you will need to turn on the LDAP security providers. There are three approaches to achieve this:
● Configuring on the JReport Administration page
You must be a member of the administrators role in order to access the JReport Administration page. To
use the LDAP security providers, on the JReport Administration page, click Configuration > LDAP >
Server, then check Enable Direct Authentication to LDAP Server.

● Configuring by API method


Invoke the following two methods in the interface ConfigurationLDAPServer:
/**
* Specifies whether or not the Server security system uses the LDAP providers.
* @return Returns true if using none imported LDAP support, otherwise returns false.
*/
public boolean isEnableNoneImportedLDAPSupport();
/**
* Specifies whether or not the Server security system uses none imported LDAP support.
* @param isEnableNoneImportedLDAPSupport Set this parameter to true if the Server
security system uses none imported LDAP support, otherwise set it to false.
*/
public void setEnableNoneImportedLDAPSupport (boolean isEnableNoneImportedLDAPSupport);

● Editing the LDAP XML configuration file


Specify the following property in the LDAP XML configuration file:
<env-enableNoneImportedLDAPSupport>true</env-enableNoneImportedLDAPSupport>.

If the value is true, JReport Server security system will then use the LDAP providers. The default value of
this property is false.

Note: In order to use LDAP providers, a valid admin user is required to manage the JReport Server. The
following are rules for checking whether or not a user is an admin user:
● Whether or not the user is a member of the LDAP admin group. The LDAP admin group is a configuration
option in the LDAP configuration XML file.

● Whether or not the user is a member of the administrators role. The user can be granted the role by a
role map.

A user that meets one of these two rules is regarded as an admin user, and is thus allowed to access the
JReport Administration page.

Troubleshooting LDAP configuration


If you encountered any problems during LDAP configuration, refer to the following for help.
LDAP configuration failure resulting in re-login failure as an admin user
An admin user may fail to carry out LDAP configuration properly, and thus then cannot log onto the
JReport Administration page to manage the server. If this happens, you should follow the below steps:
1. Modify the property in the LDAP configuration XML file LDAPProperties.xml in <install_root>
\properties as below to turn off the Enable Direct Authentication to LDAP Server option:
<env-enableNoneImportedLDAPSupport>false</env-enableNoneImportedLDAPSupport>

2. Restart JReport Server and log in as a built-in security admin user to correct the LDAP configuration.

Warning messages in the advent of incorrect LDAP configuration


Apart from the notes offered on the JReport Administration page > Configuration > LDAP panel, prompt
warning information is also provided in order to cope with incorrect LDAP configuration. The server system
will prompt warning messages in the following cases:
● If you do not fill in the Admin Group field or specify an admin group.

● If the admin group specified does not hold a user.

● If the admin group specified does not exist in the LDAP server.
Configuring
Once JReport Server has been installed and you have prepared the reporting environment, you can
then start it. However, you may find that JReport's default port number conflicts with an existing one in
your computer, or that you need to generate log files for analyzing a problem. In these cases, you will
need to configure your server. Before or while running the server, you can configure it according to
your systems.
The configuration work can be performed in two ways: via the JReport Server UI or via configuration
files. Some server UI options and properties in the configuration files are mapped and both function the
same way. For these types of settings, you can take either way to do the configuration. Appendix 4:
Mapping list of server UI options and properties details which server UI option are mapped to which
properties in the configuration files.
This chapter focuses on the following topics:
● Configuration files

● Performing administrative configuration work on UI

● Configuring the server database

● Configuring another connection as a substitute for the catalog connection

● Configuring connection pool

● Configuring logs

● Changing the server context path


Configuration files
The following table lists the files provided for configuration purpose and the corresponding server UIs
they are mapped to if applicable:

File Description Mapped Server UI Related Document


<install_root>\bin\classes.properties Apply old version Security API - -
(UserAuthenticator)
<install_root>\bin Engine connection pool - Configuring a connection pool
\ConnectionPoolConfig.properties configuration
<install_root>\bin\datasource.xml Connection mapping - Configuring the datasource.
configuration xml file
<install_root>\bin\dbconfig.xml Server DB configuration JReport Administration Configuring the server
page > Data > System database in the dbconfig.xml
DB/Realm DB/Profiling file
DB > Configuration
<install_root>\bin\dhtml.properties Configuration for the Action - Action Task Manager > dhtml.
Task Manager properties
<install_root>\bin\faxconfig. Configuration for sending fax JReport Administration -
properties page > Configuration >
Export > Fax
<install_root>\bin\jdbcdrivers. Configure the JDBC drivers that - -
properties can be auto loaded
<install_root>\bin JDBC capability description - Configuring JdbcDriversConfig.
\JdbcDriversConfig.properties properties
<install_root>\bin\LogConfig. Configuration for log JReport Administration Configuring logs
properties page > Configuration >
Log
<install_root>\bin\mailconfig. Configuration for sending e- JReport Administration -
properties mails page > Configuration >
Export > E-mail
<install_root>\bin\server.list Record relevant information - -
about the clustered servers,
including server name, server
IP address, server RMI port,
and server backup priority.
<install_root>\bin\server.properties Comprehensive configuration JReport Administration/ Appendix 1: Properties -
Console page server.properties file
<install_root>\properties Configuration for LDAP support JReport Administration -
\LDAPProperties.xml page > Configuration >
LDAP > Server

Related topics:
● Appendix 4: Mapping list of server UI options and properties
Performing administrative configuration work on UI
JReport Server UI can be accessed remotely from a client machine through a web browser such as
Internet Explorer. The JReport Administration page is available to administrators only. To perform
administrative configuration work as an administrator, first log onto the JReport Administration page.

On the JReport Administration page, these tabs are entry to different-purposed configuration panels:
● Configuration - A comprehensive place for server configuration containing further-divided categories.

● Security - Where you manage user accounts and permissions.

● Profile - Where you define some initial settings for users' profiles.

● Cluster - Where you configure and manage a JReport Server cluster.

● Triggers - Where you create and manage triggers.

● Data - Where you manage the server data.

● Cached Data - Where you create and manage report data caches.
Configuring the server database
There are three databases in JReport Server: system, realm, and profiling. The system database holds
resources of the global server scope, such as server.properties, global NLS, etc. The realm database
holds information of folders, nodes, versions, the security system, and the completed table. The
profiling database holds server runtime related information. The realm database is necessary in order
to run JReport Server. For best performance, you may want to configure the realm and profiling
databases separately, depending on your environment.
When you install JReport Server, a dbconfig.xml file is automatically created in the directory
<install_root>\bin. The database configuration information is stored in this configuration file. You
can configure your database by using the dbconfig.xml file.
JReport Server provides multiple database support, allowing you to configure your own database to
store the server data.
This section presents the ways of configuring a server database for JReport Server in two different
environments. Also, you can specify a table space in the database configuration for JReport Server to
create tables in it.
● Configuring the server database in a standalone environment

● Configuring the server database when integrating with an application server

● Creating tables in a specified table space

● Schema support

● Configuring JdbcDriversConfig.properties

Notes:
● If you are using MySQL, make sure it is of version 5 or above.

● If your server database uses DB2 and the charset is DBK, there will be the exception of encoding not
supported.

Related topics:
● Managing server data
Configuring the server database in a standalone environment
When JReport Server is running in a standalone environment, you can configure the database for it
remotely on the JReport Administration page. Also, since the server database configuration information
is stored in the dbconfig.xml file in the directory <install_root>\bin, you can also configure the
server database in this file.
The following presents the two ways of configuring the server database in a standalone environment:

Configuring on the JReport Administration page


1. Log onto the JReport Administration page, click Data on the system toolbar and then select
System DB, Realm DB, or Profiling DB from the drop-down menu according to your
requirement.

Note: The Profiling DB option is not shown by default on the drop-down menu. In order to
make it shown, you should set the server.profiling.enable property to true in the server.
properties file in the <install_root>\bin directory.

2. Select a realm if it is the Realm DB or Profiling DB panel.

3. In the Configuration tab, select a DBDriver from the Driver drop-down list and provide the driver
class path information in the Driver Class Location field.

Note: For the Access, HSQLDB and Derby databases, you do not need to specify the Driver
Class Location. For all other databases, you will have to provide the driver class path
information unless it has already been added to the class path of setenv.bat (setenv.sh on
Unix) file during installation or by editing the setenv.bat file.
4. Type a valid URL that can be used to establish a connection to the database. The valid format of
the URL should be provided by the DBDriver vendor.

5. Provide the user ID and password.

6. To test the connection, click Test. To update the database configuration and to apply the settings,
click Update and then restart the server to finalize the function.

Configuring in the dbconfig.xml file


In dbconfig.xml, you can configure the server database using one of two methods. One is to specify the
URL, driver, user and password individually. This method of configuration can be modified through the
JReport Administration page. For example:
<database name="systemtables/realmtables/profile">
<url>...</url>
<driver>...</driver>
<user>...</user>
<password>...</password>
</database>
Note: The <user> and <password> information is encrypted. The <user> and <password> tags will
be replaced by the <encrypt-sign> tag after JReport Server's startup as follows:
<encrypt-sign>enDkq7srM9cHhoUwzYXJ3NvcDIYk</encrypt-sign>

If you want to change user or password, delete the <encrypt-sign> tag and add the <user> and
<password> tags in the dbconfig.xml file.
The other is to use the <datasource> tag. For example:
<database name="systemtables/realmtables/profile">
<datasource>
jdbc://user:password@jdbc:odbc:jreport-realmtables#driver=sun.jdbc.odbc.JdbcOdbcDriver
</datasource>
</database>

Here are two examples for your reference:


● The following example is for Oracle. Modify the dbconfig.xml file as follows:
<?xml version="1.0" encoding="UTF-8"?>
<dbconfig>
<workspace name="defaultRealm">
<database name="realmtables">
<user>test</user>
<url>
jdbc:oracle:thin:@dbhost:1521:ora9i
</url>
<password>1234</password>
<driver classpath="D:\DBDriver\Oracle\oracle9i\ojdbc14.jar">
oracle.jdbc.driver.OracleDriver
</driver>
</database>
</workspace>
</dbconfig>

● The following example is for a DataDirect driver. Modify the dbconfig.xml file as follows:
<?xml version="1.0" encoding="UTF-8"?>
<dbconfig>
<workspace name="defaultRealm">
<database name="realmtables">
<user>test</user>
<url>
jdbc:datadirect:sqlserver://dbhost:1433;DatabaseName=realmdb
</url>
<password>1234</password>
<driver classpath="D:\DBDriver\connectjdbc\lib\base.jar;
D:\DBDriver\connectjdbc\lib\util.jar;
D:\DBDriver\connectjdbc\lib\sqlserver.jar">
com.ddtek.jdbc.sqlserver.SQLServerDriver
</driver>
<dbtype>Microsoft SQLServer</dbtype>
</database>
</workspace>
</dbconfig>

Note: Usually, JReport Server automatically creates database tables the first time it is started. The
database information that JReport Server uses is defined in the dbconfig.xml file. However, if the user
ID defined in this file does not have the permission to create tables in the database, JReport Server will
fail to complete the operation. In this case, you will need another user, such as the database
administrator (who holds the relevant permissions), to create a set of empty tables in the user's
schema using the provided SQL files. These SQL files can be found in <install_root>\script_files.
Configuring the server database when integrating with an application server
JReport Server supports connecting an RDBMS to access its system data via JDBC. The JDBC
configuration information is stored in the file dbconfig.xml in <install_root>\bin. You can create a
database connection according to this configuration file. Also, with the Java EE Data Source Support
feature, in a Java EE environment, JReport Server can get the predefined javax.sql.DataSource by JNDI
APIs.
Here, the term dsInfo is used to indicate where JReport Server can obtain the JDBC connection
information. It is a key-value pair. The name and value for dsInfo are defined as below:
● The name should be: jreport.datasource.<dbname>, where, <dbname> is JReport Server's inner
database name. It must be systemtables, realmtables, or profile. For example, the dsInfo name is
jreport.datasource.realmtables.

● The value should be in the form of a URL. There are three protocols supported by JReport Server:
❍ file:///absolute_path_of_config_file

For example: file:///JReport/Server/bin/dbconfig.xml

❍ jdbc://[<jdbc-user:jdbc-password>@]<jdbc-url>[#<attribute-name=attribute-value>,]

For example: jdbc://user:password@jdbc:odbc:jreport-realmtables#driver=sun.jdbc.odbc.


JdbcOdbcDriver

❍ jndi://[<jdbc-user:jdbc-passoword>@]datasource_name[#<attribute-name=attribute-
value>,]

For example: jndi://jdbc/jreport-realmtables

The dsInfo can be specified in several places or levels, such as VM properties, ejb-jar.xml, web.xml and
<install_root>\bin\dbconfig.xml. The sequence to load the information is:
VM system environment > ejb-jar.xml (EAR mode) > web.xml (WAR mode) > dbconfig.xml.
Notes:
● The jreport.ear file that JReport Server creates does not specify any Java EE information. By default
it will load from the dbconfig.xml file.

● There is a limitation in WebSphere. JReport Server's dsInfo can be configured to the WEB-INF/web.
xml with JNDI name but not RESOURCE name. JBoss works fine for either one.

● Do not use reporthome, @ or # in the JNDI name or Resource name.

The following shows specifying the dsInfo in web.xml, ejb-jar.xml, and dbconfig.xml respectively:

Specifying data source in web.xml (for the WAR mode)


When integrating the JReport Server in a WAR package, you can specify the dsInfo in the WEB-INF/web.
xml file using the <env-entry></env-entry> or <context-param></context-param> tags. However,
the use of the <env-entry></env-entry> tags is the recommended way since the tags are also
supported in ejb-jar.xml (if you call the Server API in your EJB).
The following is an example of specifying the dsInfo in WEB-INF/web.xml using the <env-entry></env-
entry> tags:

<web-app>
...

<env-entry>
<env-entry-name>jreport.datasource.realmtables</env-entry-name>
<env-entry-value>jndi://resource-name</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
</web-app>

The following is an example of specifying the dsInfo in WEB-INF/web.xml using the <context-param></
context-param> tags:

<web-app>
<context-param>
<param-name>jreport.datasource.realmtables</param-name>
<param-value>jndi://datasource_name_which_is_predefined</param-value>
</context-param>
...

</web-app>

Specifying data source in ejb-jar.xml or web.xml (for the EAR mode)


When the JReport Server is used with APIs by EJBs, you can specify the dsInfo either in the file ejb-jar.
xml in /META-INF or web.xml in /WEB-INF.

For information about specifying a data source in the web.xml file, see section Specifying data source in
web.xml (for the WAR mode).

Note: If the dsInfo is stored in a Web module, you should add the JReport Server context listener to
the WEB-INF/web.xml file. Here is an example:
<web-app>
<listener>
<listener-class>
jet.server.servlets.JRServerContextListener
</listnener-class>
</listener>
...
</web-app>

You can specify the dsInfo in the META-INF/ejb-jar.xml file using the <env-entry></env-entry> tags.
For example, here is an EJB named firstEJB which creates the JReport Server instance. You can add the
<env-entry></env-entry> tags to the EJB's configuration file - META-INF/ejb-jar.xml as follows:

<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>firstEJB</ejb-name>
...
<env-entry>
<env-entry-name>jreport.datasource.realmtables</env-entry-name>
<env-entry-value>jndi://resource_name</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
</session>
...

</enterprise-beans>
...

</ejb-jar>

Specifying data source in dbconfig.xml


By default, JReport Server assumes that jreport.datasource.realmtables=file:///${rpthome}/bin/
dbconfig.xml. You can specify either a JDBC or JNDI data source using the <datasource></
datasource> tags in the dbconfig.xml file.

For details about configuring the JDBC data source, see Configuring the server database in a
standalone environment.

The following is an example of specifying the JNDI data source:


<?xml version="1.0" encoding="UTF-8"?>
<dbconfig>
<workspace name="defaultRealm">
<database name="realmtables">
<datasource>jndi://datasource-name</datasource>
</database>
</workspace>
</dbconfig>
Creating tables in a specified table space
JReport Server supports creating tables in a user-specified table space in a database that supports
table spaces, such as DB2 and Oracle. A key-value pair tablespace is provided to specify a table space
into which JReport Server will create database tables. This key-value pair is then passed to JReport
Server through the JDBC configuration. JReport Server retrieves the table space information from the
JDBC (data source) configuration, and then creates tables in the specified table space.
Tablespace can be configured either in the dbconfig.xml file by using the <tablespace></tablespace>
tags, or in dsInfo by adding the attribute tablespace=table_space_name.
In dbconfig.xml
Add the <tablespace></tablespace> tags in the dbconfig.xml file as follows:

...
<database name="realmtables">
<driver classpath="...">jdbc_driver_name</driver>
<url>jdbc_url</url>
<user>jdbc_user</user>
<password>jdbc_password</password>
<tablespace>table_space_name</tablespace>
</database>
...

In dsInfo
Since the dsInfo supports JNDI and JDBC protocols, you can add the attribute
tablespace=table_space_name in the JNDI or JDBC statement.
● jdbc://[<jdbc-user>:<jdbc-password>@]<jdbc-url>[#<attribute-name=attribute-value>,]
For example:
jdbc://user:password@jdbc:odbc:jreport-realmtables#driver=sun.jdbc.odbc.
JdbcOdbcDriver,tablespace=myTablespace

● jndi://[<jdbc-user>:<jdbc-password>@]<datasource-name>[#<attri-name=attri-value>,]
For example:
jndi://jdbc/jreport-realmtables#tablespace=myTablespace
Schema support
JReport Server supports DBMS schemas in order to work well with DBMSs that are currently supported
by JReport Server and that support schemas. Those DBMSs include Oracle, DB2, SQL Server, and
Sybase. You can specify schema information either in the dbconfig.xml file using the <schema></
schema> tags, or in dsInfo by adding the attribute schema=schema_name.

Note: For Sybase, the schema name must use capital letters, for example, ABCDE.
In dbconfig.xml
Add the <schema></schema> tags in the dbconfig.xml file as follows:

...
<database name="realmtables">
<driver classpath="...">jdbc_driver_name</driver>
<url>jdbc_url</url>
<user>jdbc_user</user>
<password>jdbc_password</password>
<schema>schema_name</schema>
</database>
...

In dsInfo
Since the dsInfo supports JNDI and JDBC protocols, you can add the attribute
schema=schema_name in the JNDI or JDBC statement. The JNDI approach is only available when
deploying JReport Server into a Java Application Server, not when it is running in standalone mode.
● jdbc://[<jdbc-user>:<jdbc-password>@]<jdbc-url>[#<attribute-name=attribute-value>,]
For example:
jdbc://user:password@jdbc:odbc:jreport-realmtables#driver=sun.jdbc.odbc.
JdbcOdbcDriver,schema=db2admin

● jndi://[<jdbc-user>:<jdbc-password>@]<datasource-name>[#<attri-name=attri-value>,]
For example:
jndi://jdbc/jreport-realmtables#schema=db2admin
Configuring JdbcDriversConfig.properties
This document describes how to configure the file JdbcDriversConfig.properties in the <install_root>
\bin directory for better performance.

Limiting the size of the fetch data buffer


If you are using a database which supports the JDBC method Statement.setFetchSize(), you can
request the database retrieve a specified number of rows in each read instead of all rows which
minimizes memory usage which can improve performance. It can also avoid Java heap out of memory
errors when doing large queries. JReport provides a property setFetchSize in the JdbcDriversConfig.
properties file for you to do this.
The following is an example of setting the setFetchSize property in the JdbcDriversConfig.properties file
and detailed description of each property:
DriverName_D1 = MySQL-AB JDBC Driver
Vendor_D1 = MySql.com
Version_D1 = 3.0.8-stable ( $Date: 2003/05/19 00:57:19 $, $Revision: 1.27.2.18 $ )
setFetchSize_D1 = 5000

DriverName_[Name]
Database driver name that should be used to establish a connection. You can use connection.
getMetaData().getDriverName() to obtain the value.
Vendor_[Name]
The vendor of current JDBC driver. It is a string value.
Version_[Name]
The version of current JDBC driver. You can use connection.getMetaData().getDriverVersion() to obtain
the value.
setFetchSize_[Name]
The number of rows retrieved in each buffer from the database. It is an Integer value that should be
larger than 0 and less than or equal to getMaxRows(). The default value is different according to the
driver in use. You can refer to your own database driver specification.
_[Name]
It is a user-defined name used to mark a group of driver settings different from the other groups.

Specifying where to implement the maximum query run time and number of records
In the JdbcDriversConfig.properties file, you can also specify where the properties, Maximum Rows and
Maximum Duration will be implemented, on JReport side or on the database side. For details about
usage of these two properties, see Limiting the query run time and number of records in the Queries
chapter of the JReport Designer User's Guide.
The following is an example of setting the two properties:
DriverName_D2 = Oracle JDBC driver
Vendor_D2 = Oracle
Version_D2 = 9.2.0.3.0
supportMaxRowPushDown_D2 = true
supportMaxDurPushDown_D2 = true

DriverName_[Name]
Database driver name that should be used to establish a connection. You can use connection.
getMetaData().getDriverName() to obtain the value.
Vendor_[Name]
The vendor of current JDBC driver. It is a string value.
Version_[Name]
The version of current JDBC driver. You can use connection.getMetaData().getDriverVersion() to obtain
the value.
SupportMaxRowPushDown_[Name]
Specifies where the property Maximum Rows will be implemented, on JReport side or on the database
side. By default, it is set to true, which means the property will take effect on the database side. If it is
set to false, the property will take effect on JReport side.
SupportMaxDurPushDown_[Name]
Specifies where the property Maximum Duration will be implemented, on JReport side or on the
database side. By default, it is set to true, which means the property will take effect on the database
side. If it is set to false, the property will take effect on JReport side.
_[Name]
It is a user-defined name used to mark a group of driver settings different from the other groups.

Canceling running query


If your JDBC driver support the Cancel Running Query feature and you want JReport to cancel the
running query used by a report in the database when you cancel the running task of the report, for
example, when you click the Cancel button on the report processing page of JReport Viewer, or when
you choose to stop a report running in background mode, configure the file JdbcDriversConfig.
properties as follows:
1. Add the JDBC driver you use into JdbcDriversConfig.properties if it is not listed there.

2. In the file JdbcDriversConfig.properties there is a line:


#supportCancelQueryStatement_D5=true

Remove the sign # and use your driver number instead of D5 to activate the feature.

3. Restart your JReport Server, then the next time, when you choose to cancel a running task, the
query used by the report set will also be cancelled in the database, provided that the DBMS
supports this action.

Notes:
● After you modified the JdbcDriversConfig.properties file, you need start the server to load the
changes.

● If there are more than one group with the same group marking name, the last group will be adopted.

● If the sign # is seen before "DriverName" of a group, or if setFetchSize is given a negative value, the
whole group will be disabled.
Configuring another connection as a substitute for the catalog
connection
Normally, after a report set has been created, it is fixed to a specific catalog connection. With the Java
EE Data Source Support feature, you can change to another runtime JDBC or JNDI data source to run
report sets. This allows you to control the catalog data source connections in JReport Server to connect
dynamically to your production data sources.
This section focuses on the following:
● Configuring the datasource.xml file

● The connection priority

● Reloading connection information from datasource.xml

● Integrating JReport Server with your Java application server

● Example 1: Using JNDI data source connections of WebLogic Server

● Example 2: Using JNDI data source connections of JBoss server


Configuring the datasource.xml file
In order to enable you to conveniently set different connections in JReport Server, a configuration file,
datasource.xml, is provided with which you can define the connection to use at runtime by setting up
connection mapping information such as the JDBC driver, URL, or JNDI data source name, user and
password, depending on the data source your application uses.
The datasource.xml file is located in the <install_root>\bin directory. Change this file according to
the data source you want to use. Two types of connections are supported by JReport Server. They are
JNDI data source connection and JDBC connection.
The content of the datasource.xml file is as follows:
<?xml version="1.0" encoding="UTF-8"?>
<datasource-mapping>
<datasource>
<catalog-connection-name>Connection1</catalog-connection-name>
<connection-type>JNDI</connection-type>
<jndi-datasource>Sample</jndi-datasource>
</datasource>
<datasource>
<catalog-connection-name>Connection2</catalog-connection-name>
<connection-type>JDBC</connection-type>
<driver>sun.jdbc.odbc.JdbcOdbcDriver</driver>
<url>jdbc:odbc:jinfonet</url>
<user>Username</user>
<password>Password</password>
</datasource>
</datasource-mapping>

Note: The <user> and <password> information is encrypted. The <user> and <password> tags will
be replaced by the <encrypt-sign> tag after JReport Server's startup as follows:
<encrypt-sign>enDkq7srM9cHhoUwzYXJ3NvcDIYk</encrypt-sign>

If you want to change user or password, delete the <encrypt-sign> tag and add the <user> and
<password> tags in the datasource.xml file.

Element descriptions
● catalog-connection-name
Specifies the name of the catalog connection that you want to substitute. Note that this is the
connection name that you can see in JReport Catalog Browser. A unique connection name in a
catalog is suggested.

● connection-type
Specifies the connection type, which can be either JNDI or JDBC.

● jndi-datasource
If you are using a JNDI data source, specify the JNDI data source name you defined in your Java
application server which you want to use as the substitute connection.

● driver & url


If you are using a JDBC data source, specify the JDBC Driver and URL in these two attributes.

Notes:
● There can be multiple <datasource></datasource> tags. Each pair will map one of the connections
in your catalog. You can define mapping connections for multiple connections for more than one
catalog. The catalog connection name should be unique in the datasource.xml file, otherwise the
latter <datasource> information will overwrite the previous ones.

● You can choose whether to provide database user and password information for the JNDI connection,
using the <user> and <password> tags. If the user and password information is provided in this file,
it will be used to set up the connection regardless of the settings defined in your application server.
Otherwise, the settings defined in your application server will be used. Specially, for WebLogic users,
you should provide user name and password for WebLogic console instead of the database.
The connection priority
If you are using a catalog connection, datasource.xml, and at the same time, you have set new
connection information via the Server API/URL ((jrs.jdbc_driver, jrs.jdbc_url, jrs.db_user, jrs.
db_pswd), the priority of these three is as follows:
Server API > datasource.xml > catalog connection
This means that if the approach with higher priority fails to get the connection, the one with the next
lower priority will be used.
Reloading connection information from datasource.xml
After you have made changes to the datasource.xml file, you need to reload it in JReport Server. This
file can be reloaded using the following ways:
● Call jet.server.api.admin.ConnectionInfoProviderService.reloadFile().

● Log onto the JReport Administration page, go to Configuration > Connection panel, and then click
the Reload button.

● Restart JReport Server.


Integrating JReport Server with your Java application server
After updating the datasource.xml file, you can integrate JReport Server with your application server.
If you are using a WAR file, make sure that the datasource.xml file is included in the WAR file. Before
making the JReport Server WAR file, in makewar.xml in the <install_root>\bin directory, add
<include name="datasource.xml" /> into the <zipfileset dir="${installroot}/bin"
prefix="workspace/bin"> section. Before you deploy the WAR file to a web server, make sure that
the datasource.xml file is included in the jreport.war/WEB-INF/lib/jrenv.jar/workspace/bin
directory.
If you are integrating JReport Server to an application using a non-JReport WAR file, usually you need
to specify the -Dreporthome parameter in the application server so that the application server can
locate and load the resources it needs. Since the datasource.xml already exists in the bin directory, you
do not need to do anything special for this file.
Example 1: Using JNDI data source connections of WebLogic Server
Using WebLogic as an example, take the following steps:
1. Start WebLogic server, navigate to <YourProjectName> > Services > JDBC > Connection Pools. In
the Configuration tab, make sure that the connection you are going to use is there and correctly
set up.

2. Browse to <YourProjectName> > Services > JDBC > Data Sources. In the Configuration tab,
create a data source using the JNDI name MyJNDISample. Select the correct connection from the
Pool Name drop-down list.

3. Open datasource.xml in the <install_root>\bin directory and add:


<datasource-mapping>
<datasource>
<catalog-connection-name>ConnectionName</catalog-connection-name>
<connection-type>JNDI</connection-type>
<jndi-datasource>MyJNDISample</jndi-datasource>
<user>youruserid</user>
<password>yourpassword</password>
</datasource>
</datasource-mapping>

4. Build the JReport Server WAR file using the makewar utility in the <install_root>\bin directory.

5. Deploy JReport Server to WebLogic.

6. Run the report set that uses this connection.


Example 2: Using JNDI data source connections of JBoss server
Using JBoss as an example, in this Example, DB2 is used, and JBoss is installed to D:\jboss-4.0.1,
take the following steps:
1. Copy the DB2 driver to D:\jboss-4.0.1\server\default\lib.

2. Create a db2-ds.xml file in D:\jboss-4.0.1\server\default\deploy, and add the following


content:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>DB2DataSource</jndi-name>
<connection-url>jdbc:db2://dbs-b/sample</connection-url>
<driver-class>COM.ibm.db2.jdbc.net.DB2Driver</driver-class>
<user-name>db2admin</user-name>
<password>db2admin</password>
<min-pool-size>0</min-pool-size>
<metadata>
<type-mapping>DB2</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>

3. Modify datasource.xml in <install_root>\bin. Make sure that the following are included:
<datasource-mapping>
<datasource>
<catalog-connection-name>ConnectionName</catalog-connection-name>
<connection-type>JNDI</connection-type>
<jndi-datasource>java:/DB2DataSource</jndi-datasource>
</datasource>
</datasource-mapping>

4. Build the JReport Server WAR file using the makewar.bat utility in the <install_root>\bin
directory.

5. Deploy JReport Server to JBoss.

6. Run the report set that uses this connection.


Configuring connection pool
If you have used SQL or other similar tools to connect to a database and act on data, you probably
know that getting the connection and logging in is the part that takes the most time. A program can
spend several seconds every time it needs to establish a connection. To improve performance, JReport
Server supports caching a connection, so that it can be used each time the same user accesses the
same table. Cached connections are kept in the connection pool and can be used and re-used as
required. Therefore, JReport Server is freed from having to create the connection to the database,
leading to a considerable saving of time.
If you want to improve the performance of JReport Server, you can configure a connection pool using
the ConnectionPoolConfig.properties file in the directory <install_root>\bin. The following is an
example of the ConnectionPoolConfig.properties file and detailed description of each property in the file:
# jdbcpool configure information
URL1=jdbc:odbc:Jinfonet
Expire_URL1=0
IdleExpire_URL1=1
MaxCount_URL1=0
MaxShare_URL1=0
Attempt_URL1=1
Interval_URL1=0

URL
JDBC URL that can establish a connection to your database.
Expire_URL
You can define how long in seconds it takes for an active connection to expire. The value for this
property by default is "0", which means that the active connection will not expire.
IdleExpire_URL
You can define how long a free connection can be idle before it is closed. The connection will not be
released until the defined time has reached its limit. The value for this property by default is "1", which
means that the connection will be released after 1 second. If the value is "0", the connection will be
closed right after it starts idling.
MaxCount_URL
The maximum number of connections based on the URL. The value for this property by default is "50".
Once the number of the connections reaches the maximum, a new connection will be blocked until a
free connection becomes available. Generally speaking, the fewer the connections, the better the
performance of JReport Server. If the value is set to "0", it means that there will be no limit on the
number of the connections.
MaxShare_URL
The maximum number of requests in one connection that can be executed simultaneously. Once the
number of the requests reaches the maximum, a new connection will be created to connect to the
database. The value for this property by default is "1", which means that one request in one connection
can be executed simultaneously. The smaller the number of requests, the better the performance of
JReport Server. If the value is set to "0", it means that there will be no limit to the maximum number
of requests sharing one connection and that all the requests in one connection can be executed
simultaneously.
Since the property MaxShare_URL* and MaxCount_URL* are incompatible, you should make a balance
between these two properties to achieve the best performance of JReport Server.
Attempt_URL
This property has a close relation to the property MaxCount_URL*. Once the number of the connections
reaches the maximum, a new connection will be blocked until a free connection becomes available. To
make the maximum use of the available connections in the pool, the property Attempt_URL* allows
you to set how many times the engine will try to establish a new connection. The default value for this
property is "1", which means that the engine will only try once to create a new connection.
Interval_URL
The interval the engine will wait for between attempts to create a new connection if a previous try has
failed. The default value for this property is "0", which means that the engine will start the next
attempt immediately. The unit of the property value is milliseconds.
Notes:
● You are forced to give a value to the property URL in order to establish a connection to the database.
For the other six properties which configure the URL, it is not necessary to set their property values
(the default values will be used).

● getConnectionPool.jsp is still available for customers who have updated JReport Server from earlier
versions. It is now deprecated in the current version. getConnectionPool.jsp is used for viewing
connection information and for deleting unused connection information. You can gain access to it
using the URL http://localhost:8889/admin/getConnectionPool.jsp.
Configuring logs
JReport provides a robust, flexible and configurable logging system, which is based on log4j version
1.2.8. JReport also supports versions of log4j version 1.2.8 to 1.3alpha7.
The logging system is used for obtaining meaningful and helpful JReport logging information in a
convenient way. It is easy to configure and manage. The following are the significant benefits of the
JReport logging system:
● It is compatible with your application which is based on log4j.

● It can be configured to output the logging information of different modules separately or to output
them all together.

● It supports setting the trace and error type level separately.

Configuring logs
Log configuration tasks can be achieved in three ways. They are:
● Using the JReport Administration page > Configuration > Log panel.

● Using the LogConfig.properties file located in <install_root>\bin directory.

● Using command options.


In comparison with earlier versions, the command options used for log configuration have undergone
a considerable change. The following are descriptions of these options:

Options Description
-vDebug Enables JReport Engine to output messages to a file and sets engine log file's
trace level to INFO and error level to WARN.
-vError Enables JReport Engine to output messages to a file and sets engine log file's
trace level to OFF and error level to ERROR.
-logall Sets all loggers' trace level to INFO and error level to WARN.
-log[:file Name] Outputs JReport Engine messages to the file as specified and uses the -vDebug
level.

Note: Any settings made using the command options will override the trace and error type level
settings in the LogConfig.properties file.

Logging information using the trace and error type


The JReport logging system enables you to trace both normal and abnormal situations by using the
trace and error type. Trace is used for logging something expected or regular, such as tracing a
program workflow, logging runtime information and associated elements. Error is used for logging
something unexpected or irregular. For example, when a URL is unreachable, a file does not exist, or a
table cannot be found in a data source.
Trace type is divided into four levels, and is ordered according to the amount of information logged,
from the least to the most. These levels are OFF, OUTLINE, INFO, and TRIVIAL. Similarly, error type is
also divided into four levels, and is ordered according to the amount of information logged, from the
least to the most. These levels are OFF, FATAL, ERROR, and WARN. For detailed information about the
eight levels, see Log panel.

If you want the least amount of information to be logged, you can set trace level to OFF and error level
to ERROR. If you want the most amount of information to be logged, you can set trace level to TRIVIAL
and error level to WARN. Setting these to the highest level could affect system performance as well as
disk usage.

Customizing log file location


You can customize where to output logs in your local disk instead of using the default directory
<install_root>\logs.

By default, different log categories are output to different rolling files. For example, the Engine log is
output to Engine.log in the <install_root>\logs directory. If you want to customize the location of
the Engine log file, take the following steps:
1. Open the LogConfig.properties file located in the <install_root>\bin directory.

2. Modify the parameter log4j.appender.EngineRollingFile.File. Set its value to an absolute path with
a log file name, for example: C:\logs\Engine.log (on Windows) or /logs/Engine.log (on Linux/
Unix).

3. Save the LogConfig.properties file.

4. Restart JReport Server.

Configuration settings - effect on performance


The following are configuration properties which have an effect on server performance:
● If the showTitle property is set to true in the LogConfig.properties file, the log file size will increase.
However, the effect on performance is negligible.

● The levels of trace and error affect the amount of logging output. The higher the level, the more the
output. The settings for error level will have a negligible affect on performance but a high level for
trace may affect performance.

● The use of the following conversion characters in ConversionPattern property results in the slow
generation of caller class or location information: %C, %F, %L and %M. Their use should be avoided
unless execution speed is not an issue. For information about the ConversionPattern property, see
comments in the LogConfig.properties file, which is located in the <install_root>\bin directory.
Changing the server context path
In some circumstances you may want to change the server context path for accessing JReport Server
console and running JReport report sets. This section introduces how to do this in a standalone or an
integrated environment.

Changing standalone server context path


JReport has the following URL configuration for accessing JReport Server console and running JReport
report sets in a standalone environment:
http://<hostname>:8888/jrserver
http://<hostname>:8888/jinfonet/index.jsp
http://<hostname>:8888/dhtmljsp/...

You may want to change the server context path as follows:


http://<hostname>:8888/jrp/jrserver
http://<hostname>:8888/jrp/jinfonet/index.jsp
http://<hostname>:8888/jrp/dhtmljsp/...

To do this:
1. Copy all contents in <install_root>\public_html to <install_root>\public_html\jrp.

2. Modify the following property values in server.properties in <install>\bin directory by adding "/
jrp":
web.design_servlet_path=/jrp/webreporting
web.dhtml_jsp_path=/jrp/dhtmljsp
web.dhtml_servlet_entry_path=/jrp/jrdhtml
web.dhtml_servlet_path=/jrp/dhtml
web.help_servlet_path=/jrp/help
web.jreport_servlet_path=/jrp/jrserver
web.skin.dir=/jrp/skin

3. Modify the value of jsp_path in redirect.properties in <install>\bin directory by adding "/jrp":


jsp_path=/jrp/jinfonet/

4. Modify mapping.properties in <install>\bin directory by adding "/jrp":


# Map servlets to paths
# Properties beginning with a . are extension properties, all other
# properties are path properties
#
# Format:
# path or extension = servlet name
/jrp/jrserver=jrserver
/servlet/sendfile=sendfile
/jrp/dhtml=dhtml
/jrp/jrdhtml=jrdhtml
/jrp/help=help
.jsp=jspservlet

5. Start the server and access the server by the URLs:


http://localhost:8888/jrp/jrserver
http://localhost:8888/jrp/jinfonet/index.jsp

Run a report set in the DHTML format by the URL:


http://localhost:8888/jrp/dhtmljsp/dhtml.jsp?jrs.catalog=%2fSampleReports%
2fSampleReports.cat
&jrs.report=%2fSampleReports%2fEmployeeInformation.cls

Changing integrated server context path


Supposing that all server resources are deployed to the context root folder jreport\ after deploying
JReport Server to an application server.
You can use the following URLs for accessing JReport Server service console and running JReport report
sets in the integrated environment:
http://<hostname>:port/jreport/jinfonet/index.jsp
http://<hostname>:port/jreport/dhtmljsp/...

You may want to change the server context path as follows:


http://<hostname>:port/jreport/myjsp/jinfonet/index.jsp
http://<hostname>:port/jreport/myjsp/dhtmljsp/...

To do this:
1. Move index.htm and the following folders from jreport\ to jreport\myjsp\:

admin
dhtmljsp
images
javascript
jinfonet
skin
style

2. Create a file jrserver.properties in the \WEB-INF directory, add the skin and dhtmljsp properties
and provide the correct paths (the context root is excluded):
web.skin.dir=/myjsp/skin
web.dhtml_jsp_path=/myjsp/dhtmljsp

3. Access the server by the URL: http://<hostname>:port/jreport/myjsp/jinfonet/index.jsp

Run a report set in the DHTML format by the URL:


http://<hostname>:port/jreport/myjsp/dhtmljsp/dhtml.jsp?jrs.catalog=%
2fSampleReports%2fSampleReports.cat
&jrs.report=%2fSampleReports%2fEmployeeInformation.cls
Managing
The administration task in JReport Server consists of six major parts. They are management of
resources, versions, security, tasks, server data and cached report data. This chapter discusses these
task types in detail. After going through these topics, you will be able to manage your JReport Server
more effectively.
● Managing resources

● Managing versions

● Managing security

● Managing tasks

● Managing server data

● Managing cached report data


Managing resources
Resources on JReport Server are organized into a tree structure called the Resource Tree. Only the
resources that are organized in the resource tree can be accessed and queried by a client.
You can perform basic resource tasks, such as publishing, deleting, getting resources from a real path,
and more advanced tasks, such as changing resource and folder properties. Moreover, you can also
manage the versions and secure your resources. Detailed information is available in sections -
Managing versions and Managing security.

Note: Catalogs are by default not displayed in the server resource tree on the JReport Console page.
In order to perform operations on catalogs published from outside of JReport Server on the JReport
Console page, you need to enable them to be displayed first by setting the web.page.option.
show_catalog property to true in the server.properties file.
This section includes the following topics:
● Publishing resources

● Converting reports of earlier versions into current version

● Updating a catalog's cube/business view permission

● Getting and using resources from a real path

● Customizing TTF font location for reports

● Working with custom fields

● Changing resource and folder properties

● Deleting resources
Publishing resources
Before you can perform any tasks on JReport Server, you first need to have your resources (catalogs, report sets, studio reports and folders)
published and organized.
There are three ways of publishing resources:
● Publishing resources from JReport Designer

● Publishing resources from a local computer

● Publishing resources from a remote computer

Note: After resources have been delivered to JReport Server, you may find that the publish time shown on the server UI is different from the
client time. That is because the publish time takes the server time instead of the client time.

Publishing resources from JReport Designer


You can directly publish your report sets or catalogs from JReport Designer to JReport Server. For detailed information, see the topic
Publishing resources remotely in the JReport Designer User's Guide.

Publishing resources from a local computer


You can publish three types of resources from a local computer. They are report sets, catalogs, and folders.
To publish resources from a local computer:
1. Do either of the following to access the Publish to Local Server dialog:
❍ For administrators, on the JReport Administration page, click Reports on the system toolbar and select Reports from the drop-down
menu. In the Reports panel, browse to the folder where you want to publish the resources, then click the To Local Server link.

❍ For end users, on the JReport Console > Reports page, browse to the folder in which to publish the resources, then on the task bar of
the Reports page, click Publish > To Local Server.

The Publish to Local Server dialog is then displayed.


2. Select a type from the Resource Type drop-down list. Make sure that the resources exist in the resource real path.

3. Specify properties for the to-be-published resources as required.


❍ If the Report Set or Studio Report resource type is selected:
1. In the From File text field, specify the report set you want to publish with its full path.

2. In the Resource Node Name field, specify a name for the report set. This name is required and is used as the display name of the
resource node in the server resource tree.

3. Type a brief description to describe the report set in the Resource Description field.

4. From the Status drop-down list, select the status of the report set.

5. Specify values of the custom fields for the report set if there are custom fields.

6. Click the Browse button to specify a font directory for the resources.

7. Click the Browse button to specify a style directory for the resources.

❍ If the Catalog resource type is selected:


1. In the From File text field, specify the catalog you want to publish with its full path.

2. In the Resource Node Name field, specify a name for the catalog. This name is required and is used as the display name of the
resource node in the server resource tree.

3. Type a brief description to describe the catalog in the Resource Description field.

4. Specify values of the custom fields for the catalog if there are custom fields.

❍ If the Folder resource type is selected:


1. In the Resource Node Name field, specify a name for the folder. This name is required and is used as the display name of the
resource node in the server resource tree.

2. Type a brief description to describe the folder in the Resource Description field.

3. To enable getting resources from a real path, check the Enable Resources from Real Paths option, and then type a path in the
Resource Real Path box.

4. Specify values of the custom fields for the folder if there are custom fields.

❍ If the Folder with Contents resource type is selected:


1. Click the Browse button next to the From Folder text field to specify the folder where the resources you want to publish are
saved.

2. In the Resource Node Name field, specify a name for the folder. This name is required and is used as the display name of the
resource node in the server resource tree.

3. Type a brief description to describe the folder in the Resource Description field.

4. To enable getting resources from a real path, check the Enable Resources from Real Paths option, and then type a path in the
Resource Real Path box.

5. Specify values of the custom fields for the folder if there are custom fields.

6. Click the Browse button to specify a font directory for the resources.

7. Click the Browse button to specify a style directory for the resources.

8. If you want to use Advanced Publish, click the Advanced Publish button. All sub folders and report sets contained within the
specified folder will then be displayed. Check the resources you want to publish and specify the properties for each resource as
required.

❍ If the Catalogs, Report Sets, Studio Reports, and Folders in Folder or Catalogs, Report Sets, Studio Reports in Folder
resource type is selected:
1. Click the Browse button next to the From Folder text field to specify the folder where the resources you want to publish are
saved.

2. Click the Browse button to specify a font directory for the resources.

3. Click the Browse button to specify a style directory for the resources.

4. If you want to use Advanced Publish, click the Advanced Publish button. All resources contained within the specified folder will
then be displayed. Check the resources you want to publish and specify the properties for each resource as required.

4. If the resources you specify to publish contain reports created in earlier versions, check Automatically Convert Old Report Schemas,
the reports will then be automatically converted into current version JReport report sets when publishing finishes.

5. To apply an archive policy to the resources that you are publishing, check the Apply Archive Policy option, then specify the archive
policy as required: Archive as New Version or Replace Old Version.
Note that a folder by itself does not have versions; the archive policy specified for a folder applies to the folder contents.

6. If the resources are to be published to the Public Reports folder, click the Set Permissions link to specify user permissions to them
according to your requirement. Permissions that can be specified to a user or role include: Visible, Read, Write, Execute, Schedule,
Delete, and Grant.

7. Click OK to start publishing the resources.

Note: The Publish to Local Server option is always available to administrators on the JReport Console page. For end users, the option is
displayed only when he/she has the privilege of publishing resources and has logged onto JReport Server from a local browser.

Publishing resources from a remote computer


You can publish three types of resources from a remote computer. They are report sets, catalogs, and folders. Before they can be published
you must create a zip file or tar file containing the resources to publish. If you want to publish resources from a remote machine to the
server, use Publish to Remote Server.
To publish resources from a remote computer:
1. Do either of the following to access the Publish to Remote Server dialog:
❍ For administrators, on the JReport Administration page, click Reports on the system toolbar and select Reports from the drop-down
menu. In the Reports panel, browse to the folder where you want to publish the resources, then click the To Remote Server link.

❍ For end users, on the JReport Console > Reports page, browse to the folder in which to publish the resources, then on the task bar of
the Reports page, click Publish > To Remote Server.
The Publish to Remote Server dialog is then displayed.

2. Click the Browse button to specify the zipped file which contains the resources you want to publish.

3. Specify where the resources will be published.


❍ If you want to publish the resources directly to the current open folder in the server resource tree, check the Publish files and
folders in the zipped file to /XXX checkbox.

❍ If you want to create a new folder in the current open folder in the server resource tree to locate the resources,
1. Make sure the Publish files and folders in the zipped file to /XXX checkbox is not selected.

2. In the Resource Node Name box, specify the name for the folder. The name will then be used as the display name of the resource
node in the server resource tree.

3. Type a brief description to describe the folder in the Resource Description box.

4. Specify values of the custom fields for the folder if there are custom fields.

5. To enable getting resources from a real path, check the Enable Resources from Real Paths option, and then type a path in the
Resource Real Path box.

4. If the resources you specify to publish contain reports created in earlier versions, check Automatically Convert Old Report Schemas,
the reports will then be automatically converted into current version JReport report sets when publishing finishes.

5. To apply an archive policy to the resources, check the Apply Archive Policy option, then specify the archive policy as required: Archive
as New Version or Replace Old Version.

6. To enable user permissions on the resources, click the Set Permissions link and set the permissions according to your requirements
(the Set Permissions link is available only when the resources are to be published to the Public Reports folder). Permissions that can be
specified for a user or role include: Visible, Read, Write, Delete, Execute, Schedule, and Grant.

7. If you want to use Advanced Publish, click the Advanced Publish button. All sub folders and report sets contained within the zip file will
then be displayed. Check the resources you want to publish and specify the properties for each resource as required.

8. Click OK to start publishing the resources.

Note: When publishing resources from a remote computer, the process is similar to that for a local publish. However, there are differences.
They are:
● Local Publish publishes resources from the machine where the server runs, while a Remote Publish publishes resources from a client
machine using a web browser to the machine where the server runs.

● The resource type of Remote Publish can ONLY be a compressed file. You should compress the report set and catalog files in advance, and
if special fonts are used in the report sets, add the corresponding font files into the compressed file as well. There are two approaches to
building a compressed file.
❍ You can compress the resources manually using a third-party tool, such as Winzip and gzip.

❍ You can use jar.exe that the JSDK provides to build a compressed jar file directly. Use the command as follows:
%JAVAHOME%\bin\jar.exe -cvfM %DEST_JAR_FILE% %SOURCE_RESOURCES%

Parameter Description
%JAVAHOME% The Java SDK install root.
%DEST_JAR_FILE% The destination file path and file name. The .jar file will be generated to the path you specify here, using
the file name you provide.
%SOURCE_RESOURCES% The source file path and file name. Note that specifying a path for this parameter will cause the generated
jar file to contain the same path information. For example, when you extract a jar file compressed using
myReports\*.* for this parameter, the files will be extracted to a folder called myReports. JReport Server
is not able to import a compressed file which contains the path information, so do not specify a path for this
parameter.

To generate a jar file containing no path information, switch to the source folder, and then carry out the compression. For example,
C:\myReports>C:\jdk1.6.0_17\bin\jar -cvfM c:\temp\aa.jar.

The jar file will be generated to c:\temp, as aa.jar, compressing all the files in c:\myReports, and containing no path information.

Always use this method if the folder you are compressing contains report sets with Chinese, Korean, or Japanese names.
Converting reports of earlier versions into current version
If your JReport product has been upgraded from a version earlier than V10, when running reports of
the earlier version, you may encounter decreased performance due to the JReport Engine having to
first convert the earlier version report into a current version report set before running the report. In
order to enhance performance, JReport Server allows administrators to permanently convert reports of
earlier versions in the server resource tree to adapt to the current version.
Report converting applies to reports of all previous server versions.

Converting via the Administration UI


The converting UI is available to administrators only. It is used to convert all old reports in the My
Reports folder or Public Reports folder. The converted report sets are stored in the same directory.
To convert reports of earlier versions into current version:
1. On the JReport Administration page, click Reports on the system toolbar, then select Converting
from the drop-down menu.

2. Specify the folders which contain the reports you want to convert.

3. Specify how to save the converted reports.


❍ Replace the Old Repors
Specifies to replace the old reports with the converted report sets.

❍ Save as Ad Hoc Report Versions


Specifies to save the converted report sets as new report set versions in the resource tree.

4. When done, click OK to start converting.

Converting using tool


You can also use rptconv.bat/rptconv.sh located in the <install_root>\bin directory to convert a
report and a type of reports or all reports in a directory.
Updating a catalog's cube/business view permission
When a catalog is published to JReport Server, you can update the catalog's report cube, business cube
and/or business view permission settings by uploading the updated authorization file from JReport
Designer without re-publishing the catalog. To do this:
1. First you should have set report cube, business cube, or business view permissions in the catalog
using JReport Designer. In this case, when you save the catalog, the permission settings are also
saved and they are saved in an authorization file in the same folder as the catalog file. The catalog
and authorization files have the same file name but different suffixes, for example, if the catalog
file is called test.cat, the authorization file is called test.auth. The authorization file is loaded by
the cube/business view authorize manager of its catalog during runtime.

2. If the catalog is not modified, you can only update the authorization file to update the permission
settings either using JReport Designer or by hand.

3. After you have updated the authorization file in JReport Designer, upload it to JReport Server from
the JReport Administration page if you are an administrator:
a. Click Reports on the system toolbar and select Reports from the drop-down menu.

b. In the Reports panel, browse to the row the catalog is in, then click the Cube Security

button in the Control column.

c. In the Cube Security dialog, first select a catalog version, and then select the updated
authorization file using the Browse button.

d. Click OK to apply the settings.

The updated authorization file will be uploaded to JReport Server and replace the old file. Then the
server will invoke the method of the cube/business view authorize manager to reload all the permission
settings, and the permission settings will take effect right after reloading.
Getting and using resources from a real path
Not only can you use the published resources described in section Publishing resources, but also those
resources obtained from a real path. The difference between real path resources and published
resources lies in the way of managing them. Published resources are managed in JReport Server
totally. Real path resources are managed in both the server and OS system. In the server, when
accessing a resource node which is linked with a real path, the local resources in the real path are
loaded to the node and displayed together with other server resources (including the published
resources) in the node. You cannot delete the real path resources directly from the server UI, but can
only achieve it by removing the resources from the local disk.
To use real path resources, you should specify a real path for a virtual folder. You can then add or
remove resources into or from JReport Server by adding or removing them into or from the real path.
Also, if you do not want to publish resources to the server by using the publish feature, you can set a
real path instead.
The following example uses the resources in the folder /SampleReports obtained from the real path:
1. On the JReport Administration page, click Configuration on the system toolbar, then select
Advanced from the drop-down menu.

2. In the Advanced panel, check the Enable Resources from Real Paths option, save the changes
and then restart the server.

3. Open the Properties dialog of the folder /SampleReports, check Enable Resources from Real
Paths, specify a real path for the demo virtual folder as C:\JReport\Server\reportbak, then
click OK to save the changes.

4. In the Windows directory C:\JReport\Server\reportbak, create three sub directories report1,


report2, and report3, and then copy some report sets and catalogs into them.

5. On starting JReport Server, click the virtual folder /SampleReports. You will then see the three
sub folders: report1, report2, and report3 within it, including their report sets and catalogs.

Now end users can perform operations on the real path resources, including running, advanced
running, scheduling, viewing versions and setting properties.
Notes:
● You cannot publish resources from real path.

● You cannot use a real path resource as an archive location.

● The relationships of folder real paths do not need to be consistent with that of the resource tree
folders. That is, they are independent of each other. For example, in the resource tree, the folder
ABC, whose real path is C:\FolderABC, has a sub folder DEF. The real path of DEF need not
necessarily be a folder in C:\FolderABC. It can be any folder.

● After using the real path resources, under certain special conditions some invalid nodes will be
generated in the server databases. In order to delete the invalid nodes, administrators can perform
the corresponding option on the JReport Administration page to clear unused nodes from the internal
JReport Server database. For details, see Clearing unused nodes from the system database.
Setting a default real path for the Public Reports folder before the server starts
JReport Server enables setting a default real path for the Public Reports folder without having to log
onto the server. There are two ways to achieve this goal: setting the real path during or after
installation.
● Setting during installation
1. When installing JReport Server using the Installation Wizard, select the installation type Custom
Installation for Standalone Server.
The Configuration screen is then available for you to configure the server properties.

2. In the screen, select Advanced from the left panel.

3. Check the Enable Resources from Real Paths option, and then type in a path in the Public
Reports Real Path text field or specify a path using the Browse button.

4. Upon completion of the installation, an install.server.properties file will be created in the


<install_root>\bin directory. When the server starts, it retrieves the file contents, and then
sets the real path for the Public Reports folder. Note that the file is deleted after the server has
loaded the file contents.

● Setting after installation


If you want to set a default real path for the Public Reports folder after installation, you can create an
install.server.properties file in the <install_root>\bin directory manually. Specify the content in
the file as follows:
server.publicReportsRealPath=D:\JReport
Customizing TTF font location for reports
The default font path in JReport Server is <install_root>\font. You can set the font path to a
different location by using the following three ways. These are in an order from higher to lower priority:
● Use the -D parameter to set the system properties key jreport.server.font.path

● Use the API HttpUtil.initEnv() to set the properties key server.font.path

● Add a property server.font.path in the server.properties file and set a full path to it.

Notes:
● The value specified by -D is not stored into the server.properties file.

● The value specified using API is stored into the server.properties file.
Working with custom fields
Custom fields are user defined fields which can be used as resource properties, the same as Type,
Description, Last Modified, etc.
After a custom field is created and enabled by administrators, it will be available in the resource
information table on both the JReport Administration > Reports panel and the JReport Console >
Reports page. End users can define its value by setting properties.

Creating and enabling custom fields


To create a custom field:
1. On the JReport Administration page, click Configuration on the system toolbar, then select
Custom Field from the drop-down menu.

2. In the Custom Field panel, click New Custom Field on the task bar.

3. In the New Custom Field dialog, provide a name and description for the custom field.

4. To enable the custom field, check the Enabled option.

5. Click OK to create the custom field.

Editing custom fields


To edit a custom field:
1. In the Custom Field panel, select the row where the custom field is in, then click Edit >
Properties on the task bar.

2. In the displayed dialog, modify the name and description for the custom field, and change its
status if required.

3. Click OK to accept the changes.

Deleting custom fields


Administrators can delete the custom fields that are not required at any time. To do this:
1. In the Custom Field panel, select the row where the custom field is. You can select multiple
custom fields.

2. Click Edit > Delete on the task bar.

3. Click OK in the warning message to confirm the deletion.

Setting value to custom fields


When you publish resources to JReport Server, either locally/remotely or from JReport Designer, if
there are custom fields enabled, they will be displayed in the publishing dialog and you can specify the
value of the custom fields for each resource according to your requirements. Also, the custom field
values can be defined by setting resource properties.

Hiding custom fields


By default, all the enabled custom fields will be displayed in the resource information table on both the
JReport Administration > Reports panel and the JReport Console > Reports page. If you want to hide a
custom field from being shown in this table, follow the steps below:
For administrators:
1. Click Profile on the system toolbar of the JReport Administration page, then select Customize
Server Preferences from the drop-down menu.

2. In the General tab, in the Columns Shown in Reports List section, unselect the checkbox in front of
the corresponding custom field.

3. Click OK to accept the setting.

For end users:


End users can hide a custom field on the JReport Console page > Profile > Customize Server
Preferences > General tab as shown in the above method, and besides have a second choice:
1. On the JReport Console > Reports page, click Tools > Preferences on the task bar.

2. In the General tab of the Preferences dialog, unselect the checkbox in front of the corresponding
custom field, then click OK.
Changing resource and folder properties
To change the properties of a resource or folder:
● For administrators, on the JReport Administration page, click Reports on the system toolbar and
select Reports from the drop-down menu. In the Reports panel, browse to the row that the resource
or folder is in and click the Properties button in the Control column. In the Properties dialog,
change the settings as required.

● For end users, on the JReport Console > Reports page, browse to the row that the resource or folder
is in and do either of the following:
❍ Select the row and click Tools > Properties on the task bar of the Reports page.

❍ Select the row, right-click in the row and select Properties from the shortcut menu.

❍ Put the mouse pointer over the row and click the Properties button on the floating toolbar.

Then, in the Properties dialog, change the settings as required.

See also the following documents for details about the property settings:
● Catalog Properties dialog

● Folder Properties dialog

● Result Properties dialog

● Report Set Properties dialog

Assigning permissions
Permissions, associated with resources and folders, are the rules granted to users which control their
access to resources and folders.
After you have set permissions for a parent folder, any new resources and sub folders created in that
folder will inherit the same permissions. If you do not want them to inherit these permissions, you can
enable their user permissions and set their permissions separately. Resources and folders will inherit
permissions from their parent folder if their user permissions are not enabled.
To set, view, change, or remove resource/folder permissions:
● For administrators, in the Properties dialog, click the Set Permissions link, then in the Set
Permissions dialog,
❍ To set up or change permissions for a role, user or group, check Enable Setting Permissions,
select the user, group, or role in the Role Permissions, User Permissions, or Group Permissions
table, and then check or uncheck each permission as required. If the user, group or role is not
listed in the corresponding table, click the Add button to add it and then assign the permissions
accordingly.

❍ To remove resource/folder permissions for all users, groups and roles, uncheck the Enable
Setting Permissions option.

● For end users, in the Permissions tab of the Properties dialog,


❍ To set up or change permissions for a role, user or group, first check Enable Setting
Permissions, then select the role/user/group in the Selected box and check or uncheck the
required permissions. If the role/user/group is not listed in the Selected box, select the
corresponding radio button below the Available box, add the role/user/group to the Selected box
and then assign the permissions accordingly.

❍ To remove resource/folder permissions for all users, groups and roles, uncheck the Enable
Setting Permissions option.

Notes:
● Security permissions do not apply to the built-in version folders, the My Reports folder, and their
contents.

● To complete a task, you may require more than one permission. For example, to view the properties
of a report set, you must have both the Visible and Read permissions.

● Some permissions depend on other permissions in order to work, such as Write, Execute, and
Schedule. Allowing anyone of these will also allow the Read permission.

● Some special permissions, such as Execute and Schedule, only apply to the report set type resource.

● Only members in the administrator role can assign the Grant permission to other users or groups or
roles.

● Users that are given the Grant permission can grant permissions to other users in the same group.
Deleting resources
To delete a resource or folder:
● For administrators, on the JReport Administration page, click Reports on the system toolbar and
select Reports from the drop-down menu. In the Reports panel, browse to the row that the resource
or folder is in, then click the Delete button in the Control column.

● For end users, on the JReport Console > Reports page, browse to the row that the resource or folder
is in, then do either of the following:
❍ Select the row, right-click in the row and select Delete from the shortcut menu.

❍ Put the mouse pointer over the row and click the Delete button on the floating toolbar.

Notes:
● The Public Reports folder and My Reports folder cannot be deleted.

● Deleting a resource or folder removes the resource or folder from disk. The deleted resources and
folders cannot be retrieved. Any relevant versions belonging to the resource will also be deleted.
Managing versions
Your resources might change over time. JReport Server uses a versioning system to create and
manage resources that have changed in content and properties owing to updates made to them.
All the resources in the server resource tree: report set resources, catalog resources and report set
result resources, are controlled by versions. A great proportion of resource management tasks are
carried out by managing resource versions.
In addition, JReport Server uses an archive policy to control the resource versions. You can control
whether or not to use multiple versions for a specific resource. Also, you can define the maximum
number of versions that can be listed in the version table. The archive policy can be applied to a single
resource individually, or to many resources in a folder as a whole.
This section shows how to manage resource versions as follows:
● Creating versions

● Browsing versions

● Applying an archive policy

● Deleting versions

● Advanced version topics


Creating versions
Generally, report set result versions are created when an end user runs a report set in Advanced Run
or Schedule mode. However, to create a new version for a report set or catalog, you have to publish a
report set or catalog respectively from outside of JReport Server, and then make the old and the new
share one common resource node.

Creating report set/catalog versions


The method for creating versions for report set and catalog are the same:
1. Access the publish dialog using either of the following ways:
❍ For administrators, on the JReport Administration page, click Reports on the system toolbar
and select Reports from the drop-down menu. In the Reports panel, open the folder that
contains the report set/catalog for which you want to create a new version, then click the To
Local Server or To Remote Server link.

❍ For end users, on the JReport Console > Reports page, open the folder that contains the report
set/catalog for which you want to create a new version, then on the task bar of the Reports
page, click Publish > To Local Server or Publish > To Remote Server.

2. In the corresponding publish dialog,


❍ If publishing to local server, select Report Set or Studio Report/Catalog from the Resource
Type drop-down list, then fill in the path and name of the to-be-published report set/catalog in
the From File text field.

❍ If publishing to remote server, specify the path and name of the zipped file which includes the
report set/catalog you want to publish in the From Zipped File text field.

3. In the Resource Node Name box, type the name of the resource node for where you want to
create the new version to. The name you provide must be exactly the same as the original
resource node name.

4. Apply an archive policy to the report set/catalog version.

5. Fill in other relevant information as required.

6. Click OK to publish the report set/catalog (for details about publishing resources from a local or
remote computer, see Publishing resources).

The report set/catalog will then be added to the server resource tree, and serve as a version of the
report set/catalog.
Note: Catalogs are by default not displayed in the server resource tree on the JReport Console page.
In order to perform operations on catalogs published from outside of JReport Server on the JReport
Console page, you need to enable them to be displayed first by setting the web.page.option.
show_catalog property to true in the server.properties file.

Creating report set result versions


A report set result version can only be created by advanced running the report set or by scheduling the
report set to publish it to the versioning system on the JReport Console page.
● When advanced running a report set, in the Archive tab of the Advanced Run dialog:

1. Specify where to save the result version by setting the Archive Location option.
■ To generate the report set result version in the built-in folder, select Built-in Version Folder.

■ To generate report set result version in a standalone resource node in the resource tree,
select The My Reports folder or The Public Reports folder, and then provide the path and
resource name information in the corresponding box.

2. Apply an archive policy to the version as required and submit the task.

Then, when the report set finishes running, a report set result version will be generated to the
location specified.

● When scheduling a report set to publish it to the versioning system, in the Publish > To Version tab
of the Schedule dialog:
1. Specify where to save the result version by setting the Archive Location option.
■ To generate the report set result version in the built-in folder, select Built-in Version Folder.

■ To generate report set result version in a standalone resource node in the resource tree,
select The My Reports folder or The Public Reports folder, and then provide the path and
resource name information in the corresponding box.

2. Apply an archive policy to the version as required and submit the task.

Then, when the schedule task is finished, a report set result version will be generated to the location
specified.

Notes:
● The resource path and name refers to the resource path and name in the resource tree. For
instance, /foldername/filename.

● For The Public Reports folder option, the first slash mark (/) refers to the Public Reports folder in the
resource tree, and the folder name (foldername) refers to an existing folder in the resource tree.

● For The My Reports folder option, the first slash mark (/) refers to the My Reports folder in the
resource tree, and the folder name (foldername) refers to an existing folder in the resource tree.

● When generating report set result versions in an existing standalone resource node in the resource
tree, for example, creating a new version for a resource node, you should make sure to provide the
path and name of the existing resource for The Public Reports folder or The My Reports folder option.
Browsing versions
To view the version information of a resource:
● For administrators, on the JReport Administration page, click Reports on the system toolbar and
select Reports from the drop-down menu. In the Reports panel, browse to the resource, then click
the Version button in the Control column.

● For end users, on the JReport Console > Reports page, browse to the resource, then do either of the
following:
❍ Select the resource row and click Tools > Version on the task bar of the Reports page.

❍ Select the resource row, right-click in the row and select Version from the shortcut menu.

❍ Put the mouse pointer over the resource row and click the Version command button on the
floating toolbar.

The versions that a resource hosts are organized in the version table.

Version table
Relevant information about the versions that a resource hosts, such as the version date, version
number, is collected and represented in a table, called the version table.
The version table is composed of the following columns:
● Catalog Versions Table
Column Description
Version Date The date and time of when the version was generated.
Version Number The serial ID that identifies a version in the version table.

● Report Set Versions Table


Column Description
Version Date The date and time of when the version was generated.
NLS Editor Administrators can edit NLS for a specified report set version by clicking the
corresponding link.
Version Number The serial ID that identifies a version in the version table.

● Report Set Result Versions Table


Column Description
Result The output file formats. You can click the links to view the output files.
Version Date The date and time of when the version was generated.
Parameter File The parameter file name. You can click the underlined file name to view the
parameters.
Creator The ID of the user who created the version.
Version Number The serial ID that identifies a version in the version table.

You can perform operations such as sorting/viewing properties, and output files/parameters in the
version table.
Tip: Some columns in the tables are not shown by default. To have them displayed, locate the table,
click Tools > Preferences on the task bar, check the corresponding items in the Preferences dialog,
then click OK to save the settings.
Applying an archive policy
JReport Server uses an archive policy to control resource versions. The archive policy can be applied to
a single resource individually or to many resources in a folder as a whole. It can also be applied when
you run (Advanced Mode) or schedule a report set.
The archive policy includes settings for controlling the use of multiple versions for a specified resource,
and the maximum version amount that will be listed in the version table:
● Archive as New Version
Specifies whether to use multiple versions for the specified resource. Available only for resources in
the resource tree.

● Maximum Number of Versions


Specifies the maximum number of versions that will be listed in the version table of the resource. By
default the number of versions is unlimited.

If there is no archive policy specified for a resource, the resource will inherit the archive policy from its
parent object. If afterwards you then specify an archive policy for the resource, the new policy will
override the one inherited from the parent object.

Applying an archive policy to resources in the resource tree


To apply an archive policy to a resource in the resource tree, refer to the table below:

If you
Then do Result
want to
Apply 1. Access the Properties dialog for the folder (for how to The archive policy will be
archive access the dialog, see Changing resource and folder applied to all of the
policy to a properties). folder content.
folder
Note: This does not
2. In the dialog, set the Apply Archive Policy option as
include resources that
required, then click OK.
already have individually
applied archive policies.

Apply 1. Access the Properties dialog for the resource. The archive policy is
archive applied to the resource,
policy to a 2. In the Properties dialog, set the Apply Archive Policy overriding its inherited
resource option as required, then click OK. archive policy.
Note: If you leave the
Apply Archive Policy
option unchecked, the
resource will inherit the
archive policy from its
parent object, for
example, the folder it
resides in.
Apply 1. On the JReport Console > Reports page, browse to the The archive policy will be
archive resource you want to run. applied to a result type
policy when resource.
running a 2. Put the mouse pointer over the resource row and click
task in Note: If you leave the
Advanced the Advanced Run button on the floating toolbar. Apply Archive Policy
mode option unchecked, the
3. In the Archive tab, check the Auto Archive Properties resource will use its old
option. archive policy or inherit
the archive policy from
4. Finish the other relevant information, making sure that its parent object, for
Archive Location is set to the resource tree folder. example, the folder it
5. Set the Apply Archive Policy option as required, and resides in.
then click Finish.

Apply 1. On the JReport Console > Reports page, browse to the The archive policy is
archive resource you want to schedule. applied to a result type
policy when resource.
scheduling 2. Put the mouse pointer over the resource row and click
a task Note: If you leave the
the Schedule button on the floating toolbar. Apply Archive Policy
option unchecked, the
3. In the Publish tab, click the To Version sub tab, then resource will use its old
check the Publish to Versioning System option. archive policy or inherit
the archive policy from
4. Finish the other relevant information, making sure that
its parent object, for
Archive Location is set to the resource tree folder.
example, the folder it
5. Set the Apply Archive Policy option as required, then resides in.
click Finish.

Applying an archive policy to the built-in version table


The above table applies to the resource in the resource tree only. The versions in the built-in version
folder are controlled by its own archive policy.
To apply an archive policy to the built-in version table, refer to the table below:

If you
Then do
want to
Apply 1. Access the version table for the resource (report set type) (for how to access the
archive table, see Browsing versions).
policy to a
built-in 2. In the Report Set Result Versions tab, check the Maximum Number of Versions
version table option, specify the versions to be saved as required, then click OK.

Apply 1. On the JReport Console > Reports page, browse to the resource you want to run.
archive
policy when 2. Put the mouse pointer over the resource row and click the Advanced Run button
running a
task in on the floating toolbar.
Advanced
3. In the Archive tab, check the Auto Archive Properties option.
mode
4. Finish the other relevant information, making sure that Archive Location is set to
the Built-in Version Folder.

5. Set the Apply Archive Policy option as required, then click Finish.
Apply 1. On the JReport Console > Reports page, browse to the resource you want to
archive schedule.
policy when
scheduling
a task 2. Put the mouse pointer over the resource row and click the Schedule button
on the floating toolbar.

3. In the Publish tab, click the To Version sub tab, then check the Publish to
Versioning System option.

4. Finish the other relevant information, making sure that Archive Location is set to
Built-in Version Folder.

5. Set the Apply Archive Policy option as required, then click Finish.
Deleting versions
After creating versions, periodically you may want to delete some expired or unused versions. You can
choose to remove these versions manually or configure JReport Server to delete them automatically.
When removing the versions using the user interface, the archive versions stored on disk are also
physically deleted.

Deleting manually
To delete some versions of a resource manually, first open the version table of the resource (for how to
access the table, see Browsing versions), then:

● For administrators, in the version table, check the checkbox ahead of the versions that you want to
remove and then click the Delete link.

● For end users, in the version table, find the version you want to remove, then:
❍ Select the version row and click Edit > Delete on the task bar.

❍ Select the version row, right-click in the row and click Delete on the shortcut menu.

❍ Put the mouse pointer over the version row and click the Delete button .

After receiving "The version has been deleted" message, view the version information again. You will
find that the version you selected has now been removed from the version table.

Deleting automatically
There are two approaches to automatically deleting versions:
● Apply Archive Policy
The Apply Archive Policy controls the number of versions that will be recorded in the version table of
a resource.
When creating a resource version, you can specify the maximum number that will be saved. If the
number of versions exceeds the specified number, the oldest version will automatically be removed
from the version list.
For example, if you specify Maximum Number of Versions as 5, when the sixth version is created, the
first version will automatically be removed.

● Result Auto-delete
Result Auto-delete controls the duration of versions. It is only applicable to report set result versions.
When creating a report set result version, you can specify a certain period of time to keep the
version. The version will automatically be removed from the version list after the number of days or
the specified date.
For example, if you specify "Result Expires in 30 days", it will be automatically removed 30 days after
its creation.
Advanced version topics
The following sections cover advanced version topics for administrators and developers. It will give you
an understanding of version structure in depth.
● Version resource structure in the server database

● Storage of versions on disk

● Topics for developers


Version resource structure in the server database
Information about versions, folders, nodes, the security system, the completed table, and server
runtime performance are all stored in the default database Derby. Also, since JReport Server provides
multiple database support, you can configure your own database to store server data. For production
systems it is recommended to use the same DBMS as your database application so the server data will
be backed up with the rest of the application.
This section discusses how view resources were stored in the server database - Derby.
To open the Derby database, use Apache toolkit ij. ij is Derby's interactive JDBC scripting tool. It is a
simple utility for running scripts or interactive queries against a Derby database. ij is a Java application
that you start from a command window such as an MS-DOS Command Window or the Unix shell. ij
provides several non-SQL commands for ease in accessing a variety of JDBC features for testing.
To open the defaultRealm.* files:
1. Start ij.bat in <server_install_root>\derby\bin.

2. Connect to database. To connect to a Derby database, you need to perform a valid database
connection URL. ij automatically loads the appropriate driver based on the syntax of the URL. The
following example shows how to connect defaultRealm by using the Connect command and the
client driver:
D:>java org.apache.derby.tools.ij
ij version 10.5
ij> connect 'jdbc:derby://localhost:1527/defaultRealm';
ij>

3. After connected to the database successfully, ij allows the execution of Derby SQL statements
interactively or via scripts.

Note: All statements must be terminated with a semicolon.


Example 1: Finding result version information from the database
Execute the command SELECT * FROM RESULTVERSION_2 WHERE CREATOR='admin'; to
retrieve result versions which were created by the user 'admin'.
Example 2: Finding catalog version information from the database
Execute the command SELECT * FROM CATALOGVERSION_2; to fetch all catalog versions.

4. For more information about Derby and ij, please visit Apache website http://db.apache.org/
derby/.

Note: Don't delete, update or insert data into the database. It is recommended that all modifications to
the database be done from JReport Server instead of in the ij. Otherwise, it may result in JReport
Server crashing if invalid data is found.
Storage of versions on disk
A working directory <reporthome>\history has been defined for use by the system database. Rather
than store all the actual resources in the DBMS, the DBMS stores only pointers to the actual files.
JReport Server uses this folder to store all of the parameter information and version files. By default,
JReport Server creates 100 folders in its history folder (<reporthome>\history), and each of these
folders can contain a further 3000 subfolders. These subfolders however cannot hold any further
subfolders.
First, JReport Server puts the history information, such as archive versions and parameter files in folder
1. When the amount of subfolders in folder 1 reaches the maximum subfolder amount, it starts to put
files in folder 2. When folder 2 is filled up, folder 3 will be used, then folder 4, folder 5, and so on, until
all 100 folders have been filled up.
When all the 100 folders have been filled up with subfolders, JReport Server will then create another
100 folders, named 101 to 200, and will continue to store the history information in these folders,
starting from folder 101. When the second 100 folders are full, another 100 folders will be created, and
so on.

Changing the storage folder


JReport Server provides a server.properties file for you to configure the server. If you want to specify a
folder other than <reporthome>\history to store the version files, you can set the folder for the
resource.share.hist.dir property in this file.
The following describes the process of changing the storage folder:
1. After installing and starting JReport Server, the server.properties file is generated in the
<install_root>\bin folder. You can then set the folder that your server data is to be stored in, in
the resource.share.hist.dir property as resource.share.hist.dir=D:\ServerData.

2. Delete the properties, profiling and history sub folders from the <install_root> folder.

3. Restart JReport Server. The demo report sets/catalogs in the <reporthome>\jreports directory
will now be stored in the specified ServerData folder.

4. After the above procedures have been performed, all parameter information and version files
created will be stored in the specified ServerData folder.
Topics for developers
Other than implementation from the JReport Server UI, advanced users are also allowed to manage versions
using the JReport Server API and RMI API.
The JReport Server API and RMI API is a set of Java programming interfaces that run report sets, explore
report resources, and provide access control for report servers. It is mainly used for writing servlets, JSPs
and Java applications with report server features. You can find documentation that describes the usage of
the JReport Server API in the section JReport Server APIs and Remote APIs.

Program examples to show how to publish a report set to the versioning system, how to run a report set,
and how to publish a catalog/report set can be found in the <install_root>\help\server\en\samples
folder.

Applying an archive policy


You may find that whenever you create catalog/report set template versions, or report set result versions,
an archive policy is applied. The archive policy is a series of settings for controlling whether or not to use
multiple versions for a specific resource, for specifying the maximum version amount and archive location,
and for controlling whether or not to auto-delete versions after a certain period of time.
Archive policy parameters

Parameters Values Description Parameters Values Description


APIConst. true Whether or
TAG_ENABLE_ARCHIVE_POLICY not to apply a
/false new archive
policy.
APIConst.TAG_AUTO_ARCHIVE true Whether or
not to auto-
/false archive the
viewed result.
APIConst. 0 Built-in
TAG_ARCHIVE_LOCATION version folder
is used as the
result
archiving
location.
1 The My
Reports folder
is used as the
result
archiving
location.
APICONST. Sub folder name in
TAG_ARCHIVE_MY_DESTINATION the My Reports
folder for this user.
For example, /
rtp100, which
means to output the
file to /
USERFOLDERPATH/
<userid>/rtp100.
2 The Public
Reports folder
is used as the
result
archiving
location.
APICONST. Sub folder name in
TAG_ARCHIVE_PUBLIC_DESTINATION the Public Reports
folder for all the
users. For
example, /
ActimizeTest/rtp100
APIConst. true Whether or
TAG_REPLACE_OLD_VERSION not to replace
/false the previous
version.
APIConst. true Whether or
TAG_ARCHIVE_NEW_VERSION not to archive
/false the next
version as a
new version.
APICONST. 0 or N The number
TAG_NEED_MAXVERSION of versions to
keep for this
report set
result.
APICONST.TAG_NEED_EXPIRE true Whether or
not to auto
/false delete this
version.
APIConst.TAG_EXPIRE_METHOD 0 Version
expires after
a number of
days.
APIConst.DAY_EXPIRE Number The number of days
until a version
expires.
1 Version
expires after
a certain
date.
APIConst.TAG_EXPIRE_YEAR Number The year of
expiration.
APIConst.TAG_EXPIRE_MONTH Number The month of
expiration.
APIConst.TAG_EXPIRE_DATE Number The date of
expiration.

Scheduling report set results to the versioning system


You can use the Java class HttpRptServer with the following methods to schedule report set results to the
versioning system: runTask(), and submitScheduledTask().
There is a Hashtable argument for these two methods, which includes the parameters used for running
tasks. Here are some parameters that you will need when specifying your Hashtable for scheduling to
version:

Parameters Values Description Parameters Values Description


APICONST. true Whether or not
TAG_TO_VERSION to schedule to
/false the versioning
system.
APICONST. true Whether or not
TAG_TO_VERSION_EXCEL to schedule to
/false an Excel
version.
APICONST. true Whether or not
TAG_TO_VERSION_HTML to schedule to
/false an HTML
version.
APICONST. true Whether or not
TAG_TO_VERSION_PDF to schedule to
/false a PDF version.
APICONST. true Whether or not
TAG_TO_VERSION_PS to schedule to
/false a PostScript
version.
APICONST. true Whether or not
TAG_TO_VERSION_RSD to schedule to
/false a DHTML
result version.
APICONST. true Whether or not
TAG_TO_VERSION_RST to schedule to
/false an rst version.
APICONST. true Whether or not
TAG_TO_VERSION_RTF to schedule to
/false an rtf version.
APICONST. true Whether or not
TAG_TO_VERSION_TXT to schedule to
/false a TEXT
version.
APICONST. true Whether or not
TAG_TO_VERSION_XML to schedule to
/false an XML
version.

Obtaining version information


You will be able to fetch version records with the following function calls:
1. Get the resource manager from the HttpRptServer:
public ResourceManager getResourceManager()

2. Then use the following methods to obtain a version:


❍ Report template version
getReportVersions(java.lang.String userID,java.lang.String rptName)

❍ Report Set Result version


getResultVersion(java.lang.String userID, java.lang.String rptName, int versionNumber)

❍ Catalog version
getCatalogVersions(java.lang.String userID, java.lang.String catName)

❍ Result version
getResultDocVersions(java.lang.String userID, java.lang.String resultDocName)

Note: userID is only used for checking privilege in this method, and not for filtering the submitter.
Managing security
JReport Server provides a security system which allows you to set up and maintain security on the
server and protect your resources from inappropriate access by users.
This section focuses on accomplishing security management in JReport Server by means of setting up
roles, users, and assigning certain permissions.
You can find other information related to server security in the sections Security and Server security
system.

This section covers the following topics:


● Managing realms

● Managing user accounts

● Managing groups

● Managing roles

● Managing privileges

● Managing aliases
Managing realms
To manage realms, you must be a member of the administrator role in order to access the JReport Administration page.
Then, on the JReport Administration page, click Security on the system toolbar and go to the Realm panel, where you
can manage the realms as required.

The following topics detail how to manage a realm:

Creating a new realm


1. Click the Create a New Realm link.

2. In the New Realm dialog, type a name for the realm, and select an authentication mode as the scheme.
Basic Authentication uses the base64 encryption method as defined by RFC 1945. Digest Authentication uses the
MD5 encryption method as defined by RFC 2069. Basic Authentication is lower security but is usually what is used on
intranets. Digest Authentication provides much higher security and is usually used with SSL in a highly secure
environment.

3. When done, click OK, and the realm will then be added to the realm list table.

When a new realm is created, it is assigned with built-in users, groups, and the default resource tree. Remember to
activate the correct realm before allowing clients to visit.

Activating a realm
The realm must be activated before its content, such as resources, users, groups, and roles, and it can then be accessed
by the client users. There can be only one active realm at any time.
To activate a realm:
1. On the JReport Administration page, click Configuration on the system toolbar, and then click Service from the
drop-down menu.

2. Select the realm you want to activate from the Active Realm drop-down list.

3. Click Save to apply the settings.

4. Restart JReport Server so that the changes can take effect.

Managing the users, groups and roles in an inactive realm


Users, groups and roles are only available when the realm they belong to is active. However, users, groups and roles in
an inactive realm can still be managed by users in the administrator role.
To manage users, groups and roles in an inactive realm:
1. Click the Select link in the Control column of the realm list table to select the realm you want to manage.
All realms in JReport Server are listed in the realm list table. The State column shows the status of the realms. An
active realm is marked as Active Realm. A selected realm is marked as Selected Realm. If the realm is both active
and selected, it is marked as Active Realm.

2. Click Security and then User, Group or Role to manage the selected realm.

Information about users, groups and roles in the selected realm is listed in the User, Group, and Role panels.

Deleting a realm
If you find a realm is no longer required, you can delete it by clicking the corresponding Delete link in the Control column
of the realm list table.
Managing user accounts
To manage user accounts, you must be a member of the administrator role in order to access the JReport Administration
page. Then, on the JReport Administration page, click Security on the system toolbar and go to the User panel, where you
can manage the user accounts as required.

The following topics describe how to manage a user account.

Creating a new user account


1. In the Security > Realm panel, select a realm to which you want to add the user.

2. In the Security > User panel, click the Create a New User link.

3. In the New User dialog, provide the information for the user as required.

4. Click OK, and the user will then be added to the user account table.

Modifying a user account


1. In the Security > Realm panel, select the realm in which the user is.

2. In the Security > User panel, click the name of the user.

3. In the Edit User dialog, edit the user information as required.

4. When done, click OK to accept the changes.

Adding roles to a user


A user can be assigned more than one role. A user that holds multiple roles has all the privileges that these roles have.
To add roles to a user:
1. In the Security > Realm panel, select the realm in which the user is.

2. In the Security > User panel, click the role(s) link of the user.

3. In the displayed page, click the Add Roles link.

4. In the role table, check the roles that you want to add to the user, then click the Add button.

5. Click Security > User to return to the user list.


Adding a user to groups
A user can be assigned to more than one group. A user that belongs to multiple groups has all the privileges that these
groups have.
To add a user to some groups:
1. In the Security > Realm panel, select the realm in which the user is.

2. In the Security > User panel, click the group(s) link of the user.

3. In the displayed page, click the Add Groups link.

4. In the group table, check the groups that you want to add the user to, then click the Add button.

5. Click Security > User to return to the user list.

Removing roles/groups from a user


If you want to remove certain roles a user holds, or some groups a user belongs to from a user, follow the steps below:
1. In the Security > Realm panel, select the realm in which the user is.

2. In the Security > User panel, click the role(s)/group(s) link of the user.

3. In the roles/groups table of the user, check the roles/groups you want to remove, then click the Remove button.

Once a role or group is removed from a user, the user will no longer have the privileges the role or group has.

Auditing a specific user


You can have the server to audit a user, and the resulting information will be written into the log files.
To audit a user:
1. In the Security > Realm panel, select the realm in which the user is.

2. In the Security > User panel, click the Auditing link of the user.

3. In the Auditing dialog, specify the events which you want to have audited for this user.

4. When done, click OK to accept the changes.

Changing the password of a user


1. In the Security > Realm panel, select the realm in which the user is.

2. In the Security > User panel, click the Change Password link of the user.

3. In the Change Password dialog, specify the password of the current logged in user.

4. Specify the new password for the user and confirm it by entering it a second time.

5. When done, click OK to accept the changes.

Setting user preferences


1. In the Security > Realm panel, select the realm in which the user is.

2. In the Security > User panel, click the Preferences link of the user.

3. In the Preferences dialog, specifies the server preferences and DHTML preferences for the user accordingly.

4. When done, click OK to accept the changes.

Deleting a user account


If you find a user account is no longer required, you can delete it by clicking the corresponding Delete link in the Control
column of the user account table. However, the built-in user accounts, such as admin and guest, and users that hold roles
other than the everyone role, or that belong to any group, cannot be deleted. A user cannot delete himself from the user list
either.
Managing groups
To manage groups, you must be a member of the administrator role in order to access the JReport Administration page.
Then, on the JReport Administration page, click Security on the system toolbar and go to the Group panel, where you
can manage the groups as required.

The following topics explain how to manage a group.

Creating a new group


1. In the Security > Realm panel, select a realm to which you want to add the group.

2. In the Security > Group panel, click the Create a New Group link.

3. In the New Group dialog, specify the settings for the new group.

4. When done, click OK, and the new group will then be added into the group list table.

5. Click Security > Group to return to the group list table.

Modifying a group
1. In the Security > Realm panel, select the realm in which the group is.

2. In the Security > Group panel, click the name of the group.

3. In the Edit Group dialog, edit the group information as required.

4. When done, click OK to accept the changes.

Editing members of a group


You can edit members of a group, such as adding a new member, or removing a member from the group.
To edit the members in a group:
1. In the Security > Realm panel, select the realm in which the group is.

2. In the Security > Group panel, browse to the specific group, and then click the member(s) link.

3. Edit the members of the group as follows:


❍ To remove a member from the group, check the member and then click the Remove button.

❍ To add a member to the group, click the Add Members link, check the new member, and then click the Add
button.

Notes:
● A group can have more than one child member and parent member.

● A parent member cannot be added to the current group as its child member.

Deleting a group
If you find a group is no longer required, you can delete it by clicking the corresponding Delete link in the Control column
of the group list table. However, groups that are not empty, having child members or parent members, cannot be deleted.
Managing roles
To manage roles, you must be a member of the administrator role in order to access the JReport Administration page. Then,
on the JReport Administration page, click Security on the system toolbar and go to the Role panel, where you can manage
the roles as required.

The following topics describe how to manage a role.

Creating a new role


1. In the Security > Realm panel, select a realm to which you want to create the role.

2. In the Security > Role panel, click the Create a New Role link.

3. In the New Role dialog, specify the settings for the role.

4. Click OK, and the new role will then be added to the role list table.

Modifying a role
1. In the Security > Realm panel, select the realm in which the role is.

2. In the Security > Role panel, click the name of the role.

3. In the Edit Role dialog, edit the role information as required.

4. When done, click OK to accept the changes.

Editing members of a role


You can edit the members of a role, such as adding a new user or role, or removing a member from the role.
To edit the members in a role:
1. In the Security > Realm panel, select the realm in which the role is.

2. In the Security > Role panel, browse to the specific role, and then click the member(s) link.

3. Edit the members of the role as follows:


❍ To remove a member from the role, check the member and then click the Remove button.

❍ To add a member to the role, click the Add Members link, check the new member, and then click the Add button.

Notes:
● A role can have more than one child group, child role and parent role.
● A parent role cannot be added to the current role as its child.

● Some members cannot be removed from the role they belong to, such as admin in the administrator role and guest in the
everyone role. A user cannot remove himself from the administrators role.

Deleting a role
If you find a role is no longer required, you can delete it by clicking the corresponding Delete link in the Control column of the
role list table. However, the built-in roles, such as administrators and everyone, and roles that are not empty, cannot be
deleted.
Managing privileges
JReport Server offers two types of privileges for users, groups, and roles: Publish and Advanced Properties. Users that are
granted the Publish privilege will be able to publish resources to JReport Server, while users that have the privilege of
Advanced Properties are allowed to view advanced information of version properties such as catalog connections and report
set related resources.
To manage privileges, you must be a member of the administrator role in order to access the JReport Administration page.
Then on the JReport Administration page, click Security on the system toolbar and select Realm from the drop-down
menu. Select the realm in which the role/group/user is. Then click Security on the system toolbar and select Privilege
from the drop-down menu. You can then grant and remove role/group/user privileges in the panel.

Granting role/group/user privileges in the Privilege panel


● For roles/groups/users that already have privileges
Roles/groups/users that already have privileges are listed in the Role Privileges/Group Privileges/User Privileges table. To
assign privileges to them, you just need to check the checkbox below the type of privilege you want to grant. Then click
Save to apply the changes.

● For roles/groups/users that have had neither of the privileges


1. In the Privilege panel, click the Add button. The Privilege dialog will then appear.

2. To assign privileges to a role/group/user, select the Role Privileges/Group Privileges/User Privileges tab accordingly.

3. Choose the specific role/group/user from the list by selecting the checkbox before its name.

4. Check the checkbox below the type of privilege you want to grant.

5. Click the OK button to apply the changes. The role/group/user that has been granted new privileges will be added
into the Role Privileges/Group Privileges/User Privileges table.
Removing privileges from a role/group/user in the Privilege panel
To remove privileges from a role/group/user, you can choose either of the following two methods:
● To remove a privilege from a role/group/user, uncheck the checkbox below the privilege, and then click Save to apply
the changes.

● To remove all privileges from a role/group/user, first select the role/group/user, and then click the Remove button. By
doing this, the role/group/user will be deleted from the Role Privileges/Group Privileges/User Privileges table.

Granting and removing role/group/user privileges in the Role/Group/User panel


1. In the Security > Realm panel, select the realm in which the role/group/user is.

2. In the Security > Role/Group/User panel, click the underlined role/group/user name.

3. In the Edit Role/Edit Group/Edit User dialog, check or uncheck the Publish or Advanced Properties privileges.

4. Click the OK button to apply the changes.


Managing aliases
JReport Server organizes its files and directories into a Resource Tree. Aliases are used to provide certain "views" of the
tree, and allow different users to have different views. For example, you can set an alias resource tree (based on the
resource tree) for Mary in Sales, which enables her to only see the Sales resource node, allowing her direct access to
the report set files she is interested in. An alias is a combination of users and the resource node.
However, in order to manage aliases, you must be a member of the administrator role in order to access the JReport
Administration page.

Setting an alias resource tree for a role, group, or user


1. Log onto the JReport Administration page.

2. Click Security on the system toolbar and select Realm from the drop-down menu.

3. Select the realm in which the role, group, or user is.

4. Click Security on the system toolbar and select Alias from the drop-down menu.

5. Set an alias resource tree for a role/group/user, click the corresponding set alias link.

6. Select a role/group/user, and then click the Next button to open the Set Alias dialog.
7. Click the New button to create a new alias node in the root node.

8. In the Alias Name field, replace the default name newAlias with a name for the alias.

9. Click the Browse button to specify a destination resource from the server resource tree that is to be associated
with the new alias node. If you do not want the alias node to be shown in the alias resource tree, check the Hide
This Alias option.

10. Click the OK button to complete the creation of the new alias node.

11. Use the following steps to create further alias nodes:


a. Select the node in which you want to create a new alias node.

b. Click New to create.

c. In the Alias Name field, replace the default name newAlias with a name for the alias.

d. Click the Browse button to specify a destination resource from the server resource tree that is to be
associated with the new alias node.

e. If you do not want the alias node to be shown in the alias resource tree, check Hide This Alias.

f. Click the OK button to complete the creation of the new alias node.

12. After you have finished with the alias resource tree, click the Close button to exit the dialog.
You will now see that the just set role/group/user is listed in the corresponding alias list in the Alias panel.

Viewing the alias resource tree of a role, group, or user


1. In the Security > Realm panel, select the realm in which the role, group, or user is.

2. In the alias list of the Security > Alias panel, select the underlined name of the role/group/user you want to view.

3. The Set Alias dialog will then be opened for you to view the alias resource tree information of the role/group/user.

Editing the alias resource tree of a role, group, or user


1. In the Security > Realm panel, select the realm in which the role, group, or user is.

2. In the alias list of the Security > Alias panel, select the underlined name of the role/group/user you want to edit.

3. The Set Alias dialog will then be displayed for you to edit the alias resource tree of the role/group/user. You can
edit by hiding/unhiding an alias node, creating a new alias node, or removing an existing alias node.
❍ To hide/unhide an alias node:
a. Select the alias node in the alias resource tree.

b. Check/uncheck the Hide This Alias option, and then click OK.

❍ To create a new alias node:


a. Select the alias node in which you want to create a new alias node.

b. Click New.

c. In the Alias Name field, replace the default name with a name.

d. Click the Browse button to search for the destination resource from the Server resource tree that is to be
associated with the alias node.
e. Click OK to create the alias node.

❍ To remove an existing alias node:


a. Select the alias node from the alias resource tree.

b. Click Remove to remove the alias node.

Notes:
● An alias tree is based on the resource nodes (not virtual resource nodes) of the resource tree.

● By default, the alias resource tree root for each user refers to the resource tree root.

● When an alias tree is activated for a user, all resource access is then controlled by the alias resource tree.
Managing tasks
Usually, a task is a set of operations you perform on JReport Server to achieve a goal, such as
publishing a folder, deleting a resource, and viewing resource properties. However, the tasks that the
JReport Server manages are those associated with report-running issues, the report-running tasks.
JReport Server allows you to quickly view a report set result (Run), view a report set result using
selected options and parameters (Advanced Run), and schedule a report set to run unattended at a
specific time or periodically (Schedule). These are the fundamental modes that JReport Server uses to
perform its report-running tasks.
You can view the status of these report-running tasks, such as scheduled tasks that are waiting to be
performed by JReport Server, the tasks that are currently being performed, and the tasks that have
already been performed.
This section describes the following:
● Accessing the task information tables

● Managing tasks in the task tables

● Task-level timeout for advanced run and schedule tasks


Accessing the task information tables
JReport Server collects task information and manages it in a set of tables.
● Tasks that are scheduled
❍ Scheduled table
Shows the status information of scheduled tasks that are waiting to be performed, such as task ID,
whether the task is enabled, previous running time, and next running time.

❍ Running table
Shows the status information of tasks that are currently being performed, such as task ID, time
when the task was started, and engine status.

❍ Completed table
Shows the status information of tasks that have already been performed, such as task ID, time
when the task was completed, whether or not the task was successfully performed, result files, and
error messages.

● Tasks that are performed in the Run, Advanced Run or Background Run mode
❍ Background Tasks table
Shows the status information of the tasks submitted using the Run, Advanced Run, or Background
Run mode, such as report name, report set path and name, catalog path and name, running
format, time when the task was started/completed, time elapsed since the task was performed,
and the status of the task.

To access a specific table, on the JReport Console page, click My Tasks on the system toolbar, then
click the corresponding tab. The following shows the columns that are displayed in each table in detail.
Tip: Some columns in the tables are not shown by default. To have them displayed, switch to the
table, click Tools > Preferences on the task bar of the My Tasks page, check the corresponding items
in the Preferences dialog, then click OK to save the settings.

Scheduled table
The Scheduled table consists of the following columns:

Column Description
Schedule Name The name of the schedule task.
Task ID The internal ID for this task, which is a unique time stamp.
Report Set The report set path, name and its status.
Reports The name of the reports in the report set that are included in this task.
Next Run Time The next scheduled time for when this task is to be performed.
Last Run Time The last scheduled time this task was performed.
Task Type The type of task, such as Versioning System, File System, E-mail, or Printer.
Is Enabled Shows whether this task is enabled. Can be Enabled or Disabled.
Is Successful Shows whether or not the last running of this task was successfully performed.
The value true means that the last running was performed successfully and false
means the task failed. If the column is empty, the task has not been run before.
Catalog The catalog path and name that the report set belongs to.
Launch Type The way in which this task is executed, such as Repeatedly or One Time.
Requester The user who submitted this task.

Running table
The Running table consists of the following columns:

Column Description
Schedule Name The name of the scheduled task.
Task ID The internal ID for this task (a unique time stamp).
Report Set The report set path and name.
Reports The name of the reports in the report set that are included in this task.
Start Time The time when this task was started.
Task Type The type of the task, such as Versioning System, File System, E-mail, or Printer.
Catalog The catalog path and name that the report set belongs to.
Launch Type The way in which this task is executed, such as Repeatedly, One Time, or Instant.
Requester The user who submitted this task.
Parameter File The parameter file name. You can click the underlined file name to view the
parameter values.
Parameters The list of parameter values according to the size specified.
To specify the size, click Preferences on the task bar, then in the Preferences
dialog, set a value for the Parameter Display Size option as required.
Engine Status The current status of the JReport engine, such as record fetching, grouping,
memory paging, and engine initializing.

Completed table
The Completed table consists of the following columns:

Column Description
Schedule Name The name of the scheduled task.
Task ID The internal ID for this task (a unique time stamp).
Is Successful Shows whether this task was successfully performed. The value true means that
the task was performed successfully and false that the task failed.
Report Set The report set path and name.
Reports The name of the reports in the report set that are included in this task.
Completed Time The time when this task was completed.
Task Type The type of task, such as Versioning System, File System, E-mail, or Printer.
Catalog The catalog path and name that the report set belongs to.
Launch Type The way in which this task is executed, such as Repeatedly, One Time, or Instant.
Requester The user who submitted this task.
Parameter File The parameter file name. You can click the underlined file name to view the
parameter values.
Parameters The list of parameter values according to the size specified.
To specify the size, click Preferences on the task bar, then in the Preferences
dialog, set a value for the Parameter Display Size option as required.
Engine Status The status of JReport Engine when the task was completed, such as record
fetching, grouping, memory paging, and engine initializing. When a task fails to
perform, here you can see the status of the engine at the time of the error.
Error Message The error message for when the task failed to complete the task.
Result Files The report set result file names and links to the report set result files.
Background Tasks table
The Background Tasks table consists of the following columns:

Column Description
Reports The name of the reports in the report set that are included in this task.
Result The result in the format in which the report ran.
Report Set The path and name of the report set that the reports belong to.
Start Time The time when this task was started.
Finish Time The time when this task was completed.
Status The status of the task.
Catalog The path and name of the catalog that the report set belongs to.
Elapse Time The time elapsed since the start of this task.
Catalog Version The version number of the catalog that the report set belongs to.
Number
Report Set Version The version number of the report set.
Number
Parameters The parameters of the report set.
Cancelled Shows whether the task is cancelled or not.
Managing tasks in the task tables
You can manage tasks in the task tables according to your requirements. For example, you can run a
scheduled task at once, or stop a running task from running.

Performing common tasks


Some task management operations are common to the task tables.

If you want to Then do


Select a task Click in the row that the task is in.
Select multiple tasks Select the rows that the tasks are in while holding the Ctrl button.
Remove a task ● Select the row the task is in and click Edit > Delete on the task
bar of the My Tasks page.

● Select the row the task is in, right-click in the row and select
Delete from the shortcut menu.

● Put the mouse pointer over the row the task is in and click the

Delete button on the floating toolbar.

Managing tasks in the Scheduled table


If you want to Then do
Create a new scheduled task Click New Schedule on the task bar of the My Tasks page, then in
the New Schedule dialog, specify how to create the task: by selecting
a report set or by importing a script file.
Run a task at once ● Select the row the task is in and click Run on the task bar of the
My Tasks page.

● Select the row the task is in, right-click in the row and select Run
from the shortcut menu.

● Put the mouse pointer over the row the task is in and click the

Run button on the floating toolbar.

Duplicate a task ● Select the row the task is in and click Edit > Copy on the task
bar of the My Tasks page.

● Select the row the task is in, right-click in the row and select
Copy from the shortcut menu.

● Put the mouse pointer over the row the task is in and click the

Copy button on the floating toolbar.


Enable a task ● Select the row the task is in and click Edit > Enable on the task
bar of the My Tasks page.

● Select the row the task is in, right-click in the row and select
Enable from the shortcut menu.

● Put the mouse pointer over the row that the task is in and click

the Enable button on the floating toolbar.

Disable a task ● Select the row the task is in and click Edit > Disable on the task
bar of the My Tasks page.

● Select the row the task is in, right-click in the row and select
Disable from the shortcut menu.

● Put the mouse pointer over the row the task is in and click the

Disable button on the floating toolbar.

The disabled task will not be performed until you enable it again.
Export a scheduled task to a See Importing and exporting scheduled tasks for details.
script on disk
Import a scheduled task from See Importing and exporting scheduled tasks for details.
a script saved on disk

Notes:
● You can perform the Run action on a disabled scheduled task.

● When copying a disabled scheduled task or exporting it to script, the disabled state will not be
included since it is not a property of the task.

Managing tasks in the Running table


If you want to Then do
Stop a task from running ● Select the row the task is in and click Stop on the task bar of the
My Tasks page.

● Select the row the task is in, right-click in the row and select
Stop from the shortcut menu.

● Put the mouse pointer over the row the task is in and click the
Stop button on the floating toolbar.

Note: When you stop a bursting task from running, some sub tasks
in the bursting task may have already been finished, so some results
may have been sent to some recipients.

View parameter information Refer to the Parameters column of the Running table.

Managing tasks in the Completed table


If you want to Then do
View detailed task running ● Click the schedule name of the task.
information
● Select the row the task is in and click Edit > Details on the task
bar of the My Tasks page.

● Select the row the task is in, right-click in the row and select
Details from the shortcut menu.

● Put the mouse pointer over the row the task is in and click the

Details button on the floating toolbar.

View parameter information Refer to the Parameters column of the Completed table.

Managing tasks in the Background Tasks table


If you want to Then do
Stop a task submitted using ● Select the row the task is in and click Edit > Stop on the task
Background Run mode from bar of the My Tasks page.
running
● Select the row the task is in, right-click in the row and select
Stop from the shortcut menu.

● Put the mouse pointer over the row the task is in and click the
Stop button on the floating toolbar.

Restart a stopped task ● Select the row the task is in and click Edit > Restart on the task
bar of the My Tasks page.

● Select the row the task is in, right-click in the row and select
Restart from the shortcut menu.

● Put the mouse pointer over the row the task is in and click the

Restart button on the floating toolbar.

View parameter information Refer to the Parameters column of the Background Tasks table.
Task-level timeout for advanced run and schedule tasks
A task-level timeout mechanism is introduced in order to avoid the never-finished running tasks
consuming server resources and thus decreasing the server performance. With the mechanism, you
can specify a time duration for a task, and ask JReport Server to cancel the task or to notify you or
someone else of the task status via e-mail if the task has not yet finished running when the task
duration is up. To do this:
1. Do either of the following to enable the task-level timeout mechanism.
❍ In the server.properties file, set the task.duration.en able property to true.

❍ On the JReport Administration page, click Configuration on the system toolbar, select
Advanced, and then check the Enable Task Duration option.

2. Set task duration check frequency. By default, JReport Server checks task duration every 30
seconds. The period value can be reset either by the task.duration.che ck_cycle property in the
server.properties file or by the Status Refresh Interval option in the Configuration > Advanced
panel on the JReport Administration page. Note that the value must be an integer greater than 0.
Since task duration check frequency affects server performance, it is recommended that you set
the value according to your system environment.

3. Restart JReport Server if you have modified the Advanced panel.

4. Use the Duration tab in the Advanced Run and Schedule dialogs to specify task duration.
a. In the Timeout text box, specify the time limit for when the task can run before notifying of
the timeout or canceling the task.

b. If you want to notify someone of the task status if the task has not yet finished running when
the task duration is up, check Notify by e-mail after the specified time and specify the
mail address in the Mail To text box.

c. If you want JReport Server to cancel the task when the task duration is up but the task is not
finished yet, check Cancel the task after the specified time.

d. Click Finish to submit the task.

Then, when the specified task duration is up but the task has not finished running,
● For an Advanced Run task,
❍ If you have specified to have server cancel the task when the task duration is up, the task will be
cancelled automatically, however a record for the task will be still remained in the Background
Tasks table of the My Tasks page, shown with a sign of cancellation.

❍ In the Duration tab, if you haven't checked the option Cancel the task after the specified time, the
task will be switched to run in background mode when the task duration is up, in which case, you
can choose to cancel the task manually. To do this, in the Background Tasks table,
■ Select the task row and click Edit > Delete on the task bar of the My Tasks page.

■ Select the task row, right-click in the row and select Delete from the shortcut menu.

■ Put the mouse pointer over the task row and click the Delete button on the floating toolbar.
● For a Schedule task,
❍ If you have specified to have server cancel the task when the task duration is up, the task will be
cancelled automatically, and a task completed record will be added in the Completed table of the
My Tasks page, with the Is Successful status shown as No.

❍ In the Duration tab, if you haven't checked the option Cancel the task after the specified time, the
task will still be listed in the Running table of the My Tasks page when the task duration is up.
Then, if you want to cancel the task manually, in the Running table,
■ Select the task row and click Stop on the task bar of the My Tasks page.

■ Select the task row, right-click in the task row and select Stop from the shortcut menu.

■ Put the mouse pointer over the task row and click the Stop button on the floating toolbar.

Notes:
● JReport Server may not cancel a task right after the specified task duration is up due to check
frequency.

● It is recommended that the task duration is set to about five times of the required time for finishing
running the task.
Managing server data
During its running process, JReport Server keeps track of server information and stores it to its own
database for the purpose of running various managing and monitoring tasks, such as managing the
resources on the server, monitoring the task running status, and collecting server running statistics.
The server database includes system, realm, and profiling. The system database holds resources of the
global server scope, such as server.properties, global NLS, etc. The realm database holds information
of folders, nodes, versions, the security system, and the completed table. The profiling database holds
server runtime related information. You can refer to Configuring the server database for details about
how to configure the databases.
JReport provides completed SQL files to create tables for all databases supported. They reside in
<install_root>\script_files.

This section covers the following topics:


● Initializing the database system as a non-admin database user

● Checking server data integrity

● Backing up/restoring server data

● Archiving and restoring server data

● Viewing the summary information of archive files

● Clearing unused nodes from the realm database


Initializing the database system as a non-admin database user
The database initialization system allows you to use a non-admin database user for JReport Server.
However, the database initialization has to be divided into three phases:
1. The database administrator creates new database tables using script files.

2. The non-admin database user starts JReport Server. In this phase, the old version's database
tables will be updated if they exist. If the server has updated the old version's table data, you will
be able to see a record of it in the debug file.

3. The database administrator deletes the old version' tables in the database using script files.

Script files
JReport Server supports these different databases: Apache Derby, HSQLDB, MySQL, Microsoft SQL
Server, IBM DB2, Oracle, Sybase, and Informix.
The script files are stored in <install_root>\script_files. There are three types of script files:

Script files used for creating new database tables


The following files are used to create new database tables, and are stored in <install_root>
\script_files\create_new_tables:

● db2_c.txt - Creates new tables for DB2 database.

● derby_c.txt - Creates new tables for Derby database.

● hsqldb_c.txt - Creates new tables for HSQLDB database.

● informix_c.txt - Creates new tables for Informix database.

● mysql_c.txt - Creates new tables for MySQL database.

● oracle_c.txt - Creates new tables for Oracle database.

● sqlserver_c.txt - Creates new tables for Microsoft SQL Server database.

● sybase_c.txt - Creates new tables for Sybase database.

Script files used for deleting the old version' tables


The following files are used to delete the old version' tables, and are stored in <install_root>
\script_files\delete_old_tables:

● db2_do.txt - Deletes old version tables for DB2 database.

● derby_do.txt - Deletes old version tables for Derby database.

● hsqldb_do.txt - Deletes old version tables for HSQLDB database.


● informix_do.txt - Deletes old version tables for Informix database.

● mysql_do.txt - Deletes old version tables for MySQL database.

● oracle_do.txt - Deletes old version tables for Oracle database.

● sqlserver_do.txt - Deletes old version tables for Microsoft SQL Server database.

● sybase_do.txt - Deletes old version tables for Sybase database.

Script files used for deleting the current version' tables


The following files are used to delete the current version' tables, and are stored in <install_root>
\script_files\delete_current_tables:

● db2_dc.txt - Deletes current version tables for DB2 database.

● derby_dc.txt - Deletes current version tables for Derby database.

● hsqldb_dc.txt - Deletes current version tables for HSQLDB database.

● informix_dc.txt - Deletes current version tables for Informix database.

● mysql_dc.txt - Deletes current version tables for MySQL database.

● oracle_dc.txt - Deletes current version tables for Oracle database.

● sqlserver_dc.txt - Deletes current version tables for Microsoft SQL Server database.

● sybase_dc.txt - Deletes current version tables for Sybase database.


Checking server data integrity
In abnormal circumstances, server data may not be saved correctly or completely in the databases.
JReport Server allows you to check the integrity of server data.
The integrity check mainly examines two aspects of the realm database:
● Integrality and consistency among tables - checking records among the tables to see whether they
are complete and consistent.

● Integrality and consistency between realm database and the external files - checking to see whether
the records in the tables match the related external files.

If any inconsistent or incomplete server data is found, it will be removed from the realm database since
it is unused. The same process also applies to files.
To check server data integrity, do one of the following:
● Launch JReport Server on the command line, using parameter -cleanup.
C:\JReport\Server\bin>JRServer -cleanup

● Open the batch file used to start JReport Server, add -Dcheck.realmtables=true to the line that
starts JReport Server:
"%JAVAHOME%\bin\java.exe" -Dcheck.realmtables=true "-Dinstall.root= <install_root>" ...

Note: The integrity check checks only the realm database.


Backing up/restoring server data

Backing up server data


The server data backup process inspects all of the tables in the database, collecting and then exporting
all table data to a ZipEntry. For certain tables, such as the catalog version table, report set version
table, and report set result version table, the data also includes relational real files from the history
directory. All server data is compressed to a single Zip file, and all table data and every relational real
file is stored as a ZipEntry in this single file.
You have two alternatives for exporting the server data: through the server user interface or through
command line.

Exporting the server data through the server user interface


1. On the JReport Administration page, click Data on the system toolbar and then select System DB/
Realm DB/Profiling DB from the drop-down menu.

2. Select a realm if it is the Realm DB or Profiling DB panel.

3. Click the Backup tab, type the file path and name in the Backup System DB/Realm DB/Profiling
DB field (or use the Browse button to specify the file path), and then click Backup. Note that the
file extension should be included.

Exporting the server data through the command line on Windows or on Unix/Linux
A tool is provided to backup the server data. It is DBMaintain.bat/DBMaintian.sh in <install_root>
\bin. It has two parameters:

● -Bsystemtables/-Brealmtables/-Bprofiling: Backup the data with the server data in a JReport cluster.

● -B0realmtables: Only backup the data in the database.

To export the server data from the command line on Windows or on Unix/Linux:
1. In a DOS window, switch to the <install_root>\bin folder.

2. Use the DBMaintain command (DBMaintain.sh on Unix/Linux) and -Bsystemtables/-Brealmtables/-


Bprofiling or -B0realmtables parameter. For example:
C:\JReport\Server\bin>DBMaintain -Brealmtables:C:\TEMP\cmd_b_realmtables.dat -
Bprofiling:C:\TEMP\cmd_b_profiling.dat

Restoring server data


The server data restore process picks up all table data from the backup file and inserts it into the
corresponding table in the database. You can only restore server data using the DBMaintain tool with
the -Rsystemtables/-Rrealmtables/-Rprofiling or -R0realmtables parameter.
To import server data using the command line:
1. In the DOS window, switch to the <install_root>\bin folder.

2. Use the DBMaintain command and -Rsystemtables/-Rrealmtables/-Rprofiling or -R0realmtables


parameter, for example:
C:\JReport\Server\bin>DBMaintain -Rrealmtables:C:\TEMP\cmd_b_realmtables.dat -
Rprofiling:C:\TEMP\cmd_b_profiling.dat

Backup/restoration limitations
The backup/restore feature does not support cross-platform operation. The backup and restore
operations must be done on the same operating system. For example, if you backup the server data to
a zip file on a Windows platform, you will then not be able to restore it on a Unix system.
Notes:
● On the JReport Administration page, the Profiling DB option is not shown by default on the Data drop-
down menu. To make it shown, you need to set the server.profiling.enable property to true in the
server.properties file in the <install_root>\bin directory.

● When running DBMaintain.bat/DBMaintian.sh, error may occur if the backup zip file is too large,
which is caused by JVM limitation. You can try the -B0realmtables and -R0realmtables options to
backup and restore data separately.

● When backing up server data in cluster environment, it is recommended that you back up the data
on every cluster node to make sure no files get lost on any node after they are restored. Also, the
system DB and realm DB should better be backed up together. Since the external data cannot be
backed up once just on one single cluster node, to avoid redundant data backup, you need to
manually back up the external files on every cluster node after backing up the system DB and realm
DB on any of the cluster nodes.

● When restoring server data in cluster environment, first make sure all the cluster nodes are shut
down, and then restore the data on each cluster node.
Archiving and restoring server data
You can archive and restore server data in the realm and profiling databases.

Archiving server data


Along with the running of the server, the sizes of the result version table (DB: realm) and TaskContext
table (DB: profiling) grow larger. JReport Server allows you to archive data to a single backup file. You
can then retrieve the data from the backup file at a later date.
To archive the server data:
1. On the JReport Administration page, click Data on the system toolbar and then select Realm DB/
Profiling DB from the drop-down menu.

Note: The Profiling DB option is not shown by default on the drop-down menu. To make it
shown, set the server.profiling.enable property to true in the server.properties file in the
<install_root>\bin directory.

2. Select a realm from the Select Realm drop-down list.

3. Switch to the Archive tab.

4. Specify a date in the Move to Archive Data Before field, and then type or use the Browse button
to specify the file path and name.
If you don't want to backup the archived server data, leave this field blank. The server data will
then be removed from the database.

5. Click Archive. Server data prior to the date specified will be archived and saved to the backup file
using the name specified.

Restoring the archived server data


You can restore server data that has been archived from a backup file. You can only restore it using the
server user interface.
To restore the archived server data:
1. On the JReport Administration page, click Data on the system toolbar and then select Realm DB/
Profiling DB from the drop-down menu.

2. Select a realm from the Select Realm drop-down list.

3. Switch to the Archive tab.

4. Type or use the Browse button to provide the archive file name and location in the Restore from
archive field, and then click Restore.
Viewing the summary information of archive files
After archiving or backing up files, you can view the results. The summary information includes
Archive, Date, Type, Version, Realm, Database and Scope.
To view the summary information of a specified file:
1. On the JReport Administration page, click Data on the system toolbar and then select Realm DB/
Profiling DB from the drop-down menu.

Note: The Profiling DB option is not shown by default on the drop-down menu. To make it
shown, set the server.profiling.enable property to true in the server.properties file in the
<install_root>\bin directory.

2. Select a realm from the Select Realm drop-down list.

3. Switch to the Summary tab.

4. Type or use the Browse button to specify an archive file name and location in the Archive field,
and then click Summary.
Clearing unused nodes from the realm database
Making operations on real path resources may generate unused nodes from the realmdatabase. The
generated unused nodes can be cleared through the JReport Administration page.

How unused nodes are generated


When resources, such as folders, catalogs, and report sets, have been published using a real path in
order to allow dynamic updating there is a possibility to produce invalid nodes. After running a report
set and saving the result to the versioning system or scheduling report sets which are saved in the
versioning system, either of the following conditions will generate invalid nodes:
● Cancel or change the real path setting.

● Publish a resource to replace an existing real path resource.

How to clear invalid nodes


To clear unused nodes:
1. On the JReport Administration page, click Data on the system toolbar and then select Realm DB
from the drop-down menu.

2. Click the Realm DB Check tab.

3. Click the Check button. All invalid resource nodes will then be listed.

4. Check the checkbox on the header of the first column to specify whether you want to select all or
unselect all. Otherwise, you can check the corresponding checkbox to select the invalid nodes that
you want to delete.

5. Click Delete button to delete all selected nodes.


Managing cached report data
Cached report data (CRD) is a cached subset of data fetched from the database according to certain
conditions and is used for retrieving data for reports instead of the database. This provides several
benefits.
● Reports can be run from a specific point in time such as a month end report or quarter end report
without going back to the DBMS to get the original data.

● Many users can run reports from data created from a single query thus not having the reporting
users impacting production DBMS users.

● Users running a report will all see the same view of the data, thus the data will not change minute
by minute based on current DBMS updates.

● Caching report data can be scheduled for any time frame to simulate real time on-demand reporting
for many users while not slowing down the production DBMS.

Cached report data can be created for query resources such as queries, stored procedures, imported
SQLs, user defined data sources, hierarchical data sources, and parameters whose type is Bind with
Single Column or Bind with Cascading Columns.
There are two types of cached report data in JReport Server: auto CRD and scheduled CRD. For details
about each type, see the specific topics below.

Auto CRD
When running a report set, if there is no scheduled CRD created for the query that the report set is
using directly or indirectly (for example, the report is created based on a report cube and the report
cube is built from a query), data will be fetched from the data source, and at the same time the fetched
data is cached and becomes an auto CRD.
Auto CRDs will only be available within one server running life cycle, which means that once the server
closes or restarts, they will be removed and a new cycle of auto CRD generation will begin.
Auto CRDs are disabled for generation by default. You can enable them and configure the maximum
hard disk space for auto CRDs and how long an auto CRD is stored. For details, see Automatic Cache
section in the Cache Configuration dialog.

Use of auto CRD


When there are auto CRDs generated in a query, the report running request based on the query will
first search for the auto CRD that contains all the data required by the report, if it finds one, the
located CRD will retrieve data to the report, but if JReport cannot find one, data is fetched from the
data source and cached to be another auto CRD.
How many auto CRDs can be held in a query within one server running session is decided by the
maximum hard disk space configured in the Cache Configuration dialog.
Scheduled CRD
Scheduled CRDs can be created and managed by server administrators. A query resource can have
zero or one scheduled CRD.
Via JReport scheduling mechanism, administrators are able to define when a scheduled CRD for a query
will be created and how it will be updated according to time. Scheduled CRDs have no version, once
they are updated, only the latest are kept in the query.
When a query resource contains parameters, its scheduled CRD can only represent the data of one
parameter scenario, therefore if you want more than one CRD for the query resource, you can create
more query resources or simply make some copies of the catalog and then create a CRD for each
query. In this way you can have more parameter scenarios.

Scheduling a CRD task


Administrators can schedule to have a data cache created for a query resource and updated at a
specific time or periodically. When scheduling a CRD task, more than one query resource can be
selected at a time and a CRD can be created for each query and all of the scheduled CRDs will be
applied the same creation and updating policy.
1. On the JReport Administration page, click Cached Data on the system toolbar and then select
Cached Report Data from the drop-down menu.

2. In the Cached Report Data panel, click New Cache on the task bar.

3. In the New Cache dialog for selecting queries, click next to the Select a Folder text field.

4. In the Select Folder dialog, browse to the folder containing the required catalog and click OK.

5. From the Select a Catalog drop-down list, select the required catalog in the specified folder.

6. Click beside the Select Queries box.

7. In the Select Queries dialog, select the query resources you want to create data caches for from
the resource tree. Then click OK.

8. Click OK in the New Cache dialog for selecting queries and you are then redirected to the New
Cache dialog for scheduling.

9. In the General tab, you can specify values to the parameters of the query resources listed in the
Select Query drop-down list. If no values are provided, the default values will be applied. The
query resource names will be used as the new CRD names.

10. Specify the other settings in the tab if needed.

11. In the Conditions tab, specify the time for when the task is to be performed in the Time sub tab,
and select or create a trigger to bind with the task in the Trigger sub tab. The setting in the
Conditions tab decides when the CRDs will be created and when they will be updated.

12. In the Notification tab, specify to notify someone via e-mail when the task is finished and whether
it is successful or unsuccessful.

13. In the Duration tab, specify the time duration for the task, and ask JReport Server to cancel the
task or to notify you or someone else of the task status via e-mail if the task has not yet finished
running when the task duration is up. For detailed information, see Task-level timeout for
advanced run and schedule tasks.

14. Click Finish, and JReport Server will then perform the task at the requested times.

See also New Cache dialog for scheduling for details about options in the dialog.

Use of scheduled CRDs


A scheduled CRD has four statuses. Whether reports running based on the same query as the CRD can
fetch data from the CRD is determined by the CRD's status.
● Not ready
CRD is not initiated yet. The reports will try to get data from the data source directly.

● Initiating
CRD is preparing its data for the first time, but still not ready. The reports will wait for the CRD to be
ready and then fetch data from the ready CRD.

● Ready
CRD is prepared and ready to use. All reports based on the same query will fetch data from the CRD.

● Updating
CRD is updating itself at a scheduled point. All reports based on the same query will use the ready
CRD before the update happens. Once the update is finished, the reports running later will get data
from the updated CRD.

After a scheduled CRD is created, all reports based on the same query as the CRD will automatically
use the CRD for retrieving data.
Since a scheduled CRD freezes parameters in the query, if a report uses a scheduled CRD and its query
contains parameters, only parameters used in the report are prompted for specifying values, the query
parameters will be disabled for specifying or changing. In JReport, a parameter may depend on another
parameter, if the latter is frozen, the former will be frozen too.

Editing scheduled CRDs


The generated scheduled CRDs are displayed in the Cached Report Data table, which consists of the
following columns:

Column Description
Name The name of the scheduled CRD.
Path The path of the scheduled CRD in the server resource tree.
Catalog Name The catalog that the scheduled CRD belongs to.
Data Source The data source that the scheduled CRD belongs to.
Data Type The type of the query resource that the scheduled CRD is based on.
Last Modified The last time when the scheduled CRD was modified.

You can further edit the scheduling information of the CRDs if required. To do this, select the row
where the CRD you want to edit is located, then click Edit > Properties on the task bar; or right-click
in the row and select Properties from the shortcut menu. If parameters or schedule policy is changed,
they will only take effect after next CRD updating, before that, all reports using the CRD will still get
the old data.
In addition, if you find any of the scheduled CRD is no longer required, you can remove it. To do this,
select the row where the CRD is, then clicking Edit > Delete on the task bar; or right-click in the row
and select Delete from the shortcut menu.

Viewing and managing scheduled CRD tasks


CRD tasks that are waiting to be performed are listed in the Scheduled table, which consists of the
following columns (to access the table, click Cached Data on the system toolbar and then select
Scheduled from the drop-down menu):

Column Description
Name The name of the scheduled CRD.
Path The path of the scheduled CRD in the server resource tree.
Catalog Name The catalog that the scheduled CRD belongs to.
Data Source The data source that the scheduled CRD belongs to.
Data Type The type of the query resource that the scheduled CRD is based on.
Last Modified The latest time when the task was modified.
Next Run Time The next scheduled time this task is to be performed.
Last Run Time The last scheduled time this task was performed.
Is Successful Shows whether or not the last running of this task was successfully performed.
The value true means that the last running was performed successfully and false
means the task failed. If the column is empty, the task has not been run before.

CRD tasks that are currently being performed are listed in the Running table, which consists of the
following columns (to access the table, click Cached Data on the system toolbar and then select
Running from the drop-down menu):

Column Description
Name The name of the scheduled CRD.
Path The path of the scheduled CRD in the server resource tree.
Catalog Name The catalog that the scheduled CRD belongs to.
Data Source The data source that the scheduled CRD belongs to.
Data Type The type of the query resource that the scheduled CRD is based on.
Start Time The time when this task was started.
Parameters The parameters of the query.

CRD tasks that have already been performed are listed in the Completed table, which consists of the
following columns (to access the table, click Cached Data on the system toolbar and then select
Completed from the drop-down menu). You can remove the record of a completed CRD task from the
table if required. To do this, select the row where the record is located and then click Delete, or right-
click in the row and select Delete from the shortcut menu.

Column Description
Name The name of the scheduled CRD.
Path The path of the scheduled CRD in the server resource tree.
Catalog Name The catalog that the scheduled CRD belongs to.
Data Source The data source that the scheduled CRD belongs to.
Data Type The type of the query resource that the scheduled CRD is based on.
Is Successful Shows whether this task was successfully performed. The value true means that
the task was performed successfully and false that the task failed.
Completed Time The time when this task was completed.
Parameters The parameters of the query.
Notes:
● Some columns are not shown by default. To have them displayed, focus on the required table, click
Preferences above the table, check the corresponding items in the Preferences dialog, and then
click OK to apply the settings.

● Scheduled CRD tasks share the total number of users defined in the license and share task priority
with report tasks.

Recovering of scheduled CRDs


Scheduled CRDs will be recovered after the server crashes and then restarts. The data before the crash
will be maintained.
If a CRD is updating when the crash happens, after server restarts, the CRD will continue with the
update.

Scheduled CRD synchronization with catalog republish


After a catalog is republished, how the existing scheduled CRDs based on the old query resources in
the catalog will be updated depends on the following conditions:
● If no query resource is modified, the existing CRDs will be automatically applicable to the new
catalog.

● If a query resource is modified, the scheduled CRD based on the old query will behave as follows:
❍ Before the next schedule time, the CRD will be disabled for retrieving data to reports.

❍ When it is the next schedule time, data is fetched from the new query to generate an updated
scheduled CRD:
■ If new parameters are added in the new query, default values will be used until an administrator
specifies values to them.

■ If old parameters are deleted from the new query, the parameter values previously specified in
the CRD will be removed.

■ If parameters are changed and the previously specified values do not match the type, error
messages will be given in the server error log and the CRD is disabled for service.

CRD memory usage configuration


Administrators can configure the maximum CRD memory in the Cache Configuration dialog, which is
applicable for both types of CRDs. The value should be at least 4 MB and not more than 80% of the
JVM current maximum heap size. The number of MBs must be configured in whole numbers. The cache
is used to improve performance when multiple users are running reports using the same CRD. Any size
CRD can be accessed with even the smallest cache size; however, the larger the cache size the faster
performance will be when multiple users run reports using the cache but a large cache size may lower
performance for users who do not use the CRD. All CRDs share the same cache area.
National Language Support
JReport products implement a National Language Support (NLS) feature, with which you can run
JReport Server/JReport Viewer or report sets in different language environments.
This chapter is split into two topics:
● NLS at application level

● NLS at report set level

Related topics:
● Appendix 6: Language and Region name list for National Language Support
NLS at application level
In JReport Server, a folder "resources" is added in the installation root directory for holding language
packages. Each language package contains all the UI text and messages available in JReport Server,
including JReport Viewer and JReport Studio, and specifies the UI text in a specific language. When a
language package is applied, the UI will be displayed in the language specified in the language
package. When there are more than one language packages, you can select the one you are familiar
with for your own convenience as the JReport Server environment language. For example, if you are a
German you may be glad to apply the German language package.
Moreover, when creating a WAR/EAR file to include a JReport Server, the languages.jar which packs all
language resources in the <server_install_root>\resources directory will be generated and
included for the multiple language support. The languages.jar makes sure the server UI text is
displayed correctly after deploying the WAR/EAR to other application servers.

Manually adding a language package


Currently JReport provides only the English language packages: en and en-us. However, JReport
accepts user-customized language packages and can recognize and load them if they are correctly
specified, though it may be a big task.
In each language package, there are three property files which together contain all UI text and
messages in JReport Server, JReport Viewer, and JReport Studio:
● common.properties
This property file stores UI text and messages referred by all JReport Server, JReport Viewer, and
JReport Studio in the specific language.

● dhtml.properties
This property file stores UI text and messages referred by JReport Viewer and JReport Studio in the
specific language.

● server.properties
This property file stores UI text and messages referred by JReport Server in the specific language.

The structure of a language package which is stored in the <server_install_root>\resources\server


\languages directory follows:

\LanguageName
\properties
common.properties
dhtml.properties
server.properties
To add a language package, follow the steps below:
1. Browse to the <server_install_root>\resources\server\languages directory.

2. Create a folder named fr. The folder name should keep to the naming criterion.
3. Copy the properties folder in the existing <server_install_root>\resources\server\languages
\en directory to the \fr folder.

4. Modify the three property files: common.properties, dhtml.properties, and server.properties in the
\fr folder. Translate all the text and messages after "=" in these files to French.

5. Save these property files with UTF-8 encoding.

6. Convert the contents in the three property files into Unicode using native2ascii.exe in the
<jdk_install_root>\bin directory by running the following line in the Command Console:
C:\jdk1.6.0_17\bin>native2ascii -encoding utf-8 common.properties >newcommon.
properties
C:\jdk1.6.0_17\bin>native2ascii -encoding utf-8 dhtml.properties >newdhtml.
properties
C:\jdk1.6.0_17\bin>native2ascii -encoding utf-8 server.properties >newserver.
properties

Note: When you convert your property files to the same directory as the original ones you
need give them new names instead of replacing the original in order to avoid problems.
7. Rename the original property files, you may want to modify them more at a later time.

8. Change the names of the generated property files back to the same names as the original
property files: newcommon.properties to common.properties, newdhtml.properties to dhtml.
properties, and newserver.properties to server.properties.

9. Restart JReport Server.

Naming criterion for language package folders


* FolderName(language)
* FolderName(language-country)
* FolderName(language-country-variant)
The folder name should be lower-case codes.
The language argument is a valid ISO Language Code. These codes are the lower-case two-letter codes
as defined by ISO-639. You can find a full list of these codes at a number of sites, for example: http://
www.ics.uci.edu/pub/ietf/http/related/iso639.txt.

The country argument is a valid ISO Country Code. These codes are the lower-case two-letter codes as
defined by ISO-3166. You can find a full list of these codes at a number of sites, for example: http://
www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html.

The variant argument is a vendor or browser-specific code. For example, use win for Windows, mac for
Macintosh, and posix for POSIX. Where there are two variants, separate them with an underscore, and
put the more important one first.

Specifying the application language


Once the application language is set, it takes effect in the whole JReport Server, including JReport
Viewer and JReport Studio. There are two ways of setting the application language:
● Specifying by UI option
There is an option Specify Default Language for you to switch the application language. The available
language list depends on the language packages in <server_install_root>\resources\server
\languages.

To specify the application language:


❍ For administrators, on the JReport Administration page, click Profile on the system toolbar, select
Customize Server Preferences from the drop-down menu, then click the Advanced tab and set
the default application language for all users.

❍ For end users, on the JReport Console page, click Profile on the system toolbar, then click
Customize Server Preferences on the task bar of the Profile page, select the Advanced tab and
set an application language for themselves.

● Specifying by URL parameter


End users can control the application language by the parameter jrs.language when accessing the
JReport Console page or JReport Viewer UI via URLs. The format of the URL is as follows:
http://IP_Address:port/context/pagename?parameter=value&jrs.language=Language_Name

The value of jrs.language should be the same as the language package folder name in the
<server_install_root>\resources\server\languages directory and be lower-case letters.

The following are two examples:


❍ URL for accessing the JReport Console page:
http://127.0.0.1:8888/jinfonet/index.jsp?jrs.language=zh-cn

❍ URL for opening a report set in the DHTML format in JReport Viewer UI:
http://127.0.0.1:8888/dhtmljsp/dhtml.jsp?jrs.cmd=jrs.try_vw&jrs.report=/
SampleReports/EmployeeInformation.cls&jrs.catalog=/SampleReports/SampleReports.
cat&jrs.cat_version=1&jrs.path=/SampleReports/EmployeeInformation.cls&jrs.
result_type=8&jrs.language=zh-cn

Note: The specified application language by URL parameter has higher priority than that specified by
UI option; however, it takes effect only in the current user session.
NLS at report set level
If the NLS feature is enabled for a report set when it is designed in JReport Designer, it will also be
available after the report set has been published to JReport Server (for detailed information about how
to use the NLS feature in JReport Designer, see National Language Support in the JReport Designer
User's Guide). Then, when the report set is run in the client/server scenario, different clients can select
different languages for the rendering of the report set. Also, JReport provides you with the NLS Editor
on JReport Server, with which you can edit NLS for any report set the same as the report designer does
in JReport Designer, and what's more, you can create global NLS resources that can be shared by all
report sets to reduce the translation cost.
The following topics show how to use the NLS feature in JReport Server:
● Creating global NLS for report sets

● Editing local NLS for report sets

● Running NLS report sets

● Localizing page navigation links in HTML report outputs


Creating global NLS for report sets
The global NLS is similar to the local NLS feature. Local NLS is the NLS resource used for a particular report set, while global NLS is the
NLS resource that can be used for all report sets in any catalog in both JReport Server and JReport Designer. With global NLS, you can
share the NLS information between all report sets and reduce your translation cost. Note that this feature is provided to administrators
only.
To create global NLS on JReport Server:
1. Start JReport Server and log onto the JReport Administration page.

2. Click Reports on the system toolbar and select Global NLS from the drop-down menu.

3. Click the Add button above the Language box. The Select Language Source dialog is then displayed.

4. Specify where to add the required languages.


❍ Languages Supported by JReport
Adds languages from the languages that JReport supports.

❍ NLS Resource File


Adds languages from an external NLS resource file which has been defined with some language information.
NLS resource files should follow the naming rule: NLS_[language]_[region A2]_[User Defined].properties. Refer to Appendix 5:
Language and region name list for National Language Support for language and region A2 codes.

5. Click OK in the Select Language Source dialog. Then,


❍ If Languages Supported by JReport is checked in the dialog, the Add Language dialog will be displayed. Select the required
languages and click OK to add them.

❍ If NLS Resource File is checked in the dialog, the File Upload dialog will be displayed. Browse to the local folder where the NLS
resource file is located, select the file and then click Open.

The specified languages are now displayed in the Language box in the Global NLS dialog.

6. Select a language from the Language box to edit global NLS for it.

7. In the Display tab, click the Add button to add a new row of display. Select the type of the display from the Type drop-down
list, specify the key in the Key column, then give the corresponding target language text in the Translation column. Click to
add more rows and specify the key and translation according to your requirements.

8. In the Font tab, click the Add button to add a new row of font. In the Key column, choose from the drop-down lists the font
face and font size of the key, in the Font Face column, choose from the drop-down list the font face for the target language, then
in the Font Size column, choose from the drop-down list the font size for the target language or check to use relative font size.
Click to add more rows and specify the font information according to your requirements.

9. Repeat the above steps to define global NLS for the other languages as required.

10. When done, click OK to accept the settings.

See also the Global NLS dialog for detailed explanation about options in the dialog.
Editing local NLS for report sets
JReport allows you to edit NLS for each report set on the Administration page of JReport Server as the report designer
would with the NLS Editor in JReport Designer. With the NLS Editor, you can translate a report set into different languages
from the original one. Note that this feature is provided to administrators only.
To edit NLS for a report set on JReport Server:
1. Start JReport Server and log onto the JReport Administration page.

2. In the resource tree, browse to the report set you want to edit.

3. Select the row that the report set is in, then click the NLS Editor button in the Control column. The NLS Editor
dialog appears.

4. Specify a report set and catalog version as required.

5. Click the Add button above the Language box.


6. In the Add Language dialog, select the languages in which you want the report set to display, then click OK to confirm
and go back to the NLS Editor dialog.

7. The selected languages are now listed in Language box of the NLS Editor dialog. Select a target language from the box
to edit NLS for it.

8. In the Display tab, click , then in the Add Display dialog, where all the display text in the report set are listed, add
the display text you want to translate and click OK. Then, enter all the corresponding target language text in the
Translate column. If you have defined global NLS for the target language, you can also click Fetch from Global NLS
to fetch the corresponding display information. If required, click Add to Global NLS to add the display information
you specify for the report set to the global NLS library of the target language.

9. Switch to the Format tab, click , then in the Add Format dialog, where all the formats used in objects of the report
are listed, add the formats you want to customize and click OK. Then, provide the corresponding format in the Format
column for the target language.

10. Click the Font tab, click , then in the Add Font dialog, where all the fonts used in objects of the report set are
listed, add the fonts you want to customize and click OK. Then, give the font face and font size you want for the target
language in the Font Face and Font Size columns. If you have defined global NLS for the target language, you can also
click Fetch from Global NLS to fetch the corresponding font information. If required, click Add to Global NLS to add
the font information you specify for the report set to the global NLS library of the target language.

11. Select another language and edit NLS for it as shown above.

12. Click OK to accept the settings.

See also the NLS Editor dialog for detailed explanation about options in the dialog.

Notes:
● You can also edit NLS for a specific report set version. To do this, on the JReport Administration page, access the version
table of the report set, then click the NLS Editor link for the report set version.

● When you switch among different languages by choosing languages from the Language box, you may find that the text
in the Translate column become unreadable. To resolve this problem, you can add -Djreport.url.encoding=UTF-8 to
the batch file that starts the server and then restart it. This changes the encoding to Unicode which supports all
languages.
Running NLS report sets
When you have NLS edited for a report set on the JReport Administration page, or have an NLS report
set published to the server from JReport Designer, you can then run the report set in the specified
languages. However, before doing this, you need to first make sure that the NLS feature is already
enabled for the report set by the administrator.
To enable NLS for a report set:
1. On the JReport Administration page, click Reports on the system toolbar and select Reports from
the drop-down menu.

2. In the Reports panel, browse to the report set, then click its Properties button in the Control
column.

3. In the Properties dialog, check the National Language Support option, then click OK to confirm.

Previewing NLS report sets


To preview a NLS report set in a specified language, follow the steps below:
1. On JReport Console page, Click Profile on the system toolbar, then click Customize Server
Preferences on the task bar of the Profile page.

2. Select the Advanced tab, check Specify Default Language and choose the language from the
Language drop-down list.

3. Click OK to save the changes.

4. Click Reports on the system toolbar to switch to the Reports page.

5. Browse to the report set you want to preview and click its name. The report result will then be
displayed in the language you have specified.

Running NLS report sets in Advanced mode


To run a NLS report set in a specified language in Advanced mode, follow the steps below:
1. On the JReport Console > Reports page, browse to the report set you want to run, put the mouse

pointer over the report set row and click the Advanced Run button on the floating toolbar.

2. In the Format tab, select the Enable NLS checkbox, choose the language from the Using
Language drop-down list, then select the corresponding encoding from the Encoding drop-down
list.

3. Finish the other related options and click Finish to run the report set. The report result will then
be run in the selected language.

Scheduling NLS report sets


To schedule a NLS report set, follow the steps below:
1. On the JReport Console > Reports page, browse to the report set you want to run, put the mouse
pointer over the report set row and click the Schedule button on the floating toolbar.

2. In the General tab, select the Enable NLS checkbox, then choose the language from the Using
Language drop-down list, select the corresponding encoding from the Encoding drop-down list.

3. Finish the other related options and click Finish to perform the task. The report result will then be
run in the selected language.
Localizing page navigation links in HTML report outputs
When you schedule to publish a report set to HTML format, or run it in Advanced mode in HTML format, you can
localize the names of page navigation links in the HTML report outputs, such as First, Previous, Next, and Last,
according to your requirements.
The localizing process is divided into three steps:
1. Create a property file for the desired language.

2. Enable the language for the report set.

3. Apply the localized link names to HTML report outputs.

The following explain the steps in detail:

Creating the property file


To localize the page navigation link names in HTML report outputs, a property file must be created first for the desired
language. To do this:
1. Create the sub directories in <server_install_root>\resources as follows: <server_install_root>
\resources\report\languages\[language-locale]\properties. For example, C:\JReport\Server\resources
\report\languages\zh-cn\properties.

For detailed information about the abbreviation for each language and locale, see Appendix 6: Language and
region name list for National Language Support.

2. Create a report.properties file in the properties directory.

3. Open the property file and copy the following contents to it:
# The following is the report properties file format that can localize the link names in HTML.
4000101=First
4000102=Prev
4000103=Next
4000104=Last
4000105=Back
4000106=Refresh
4000107=@CurrentPageNumber; of @TotalPageNumber;

4. Translate the text after = to the language specified by the folder name.

Note: For the line "4000107=@CurrentPageNumber; of @TotalPageNumber;", you just need to translate
"of" to the desired language. In the HTML outputs, @CurrentPageNumber will be replaced by the current
page number, and @TotalPageNumber by the report total page number.
5. Save the property file with UTF-8 encoding.

6. Copy the property file to the <jdk_install_root>\bin directory.

Note: You can just add the <jdk_install_root>\bin directory to your PATH instead of copying the file.
7. Convert the contents in the property file into Unicode using native2ascii.exe in <jdk_install_root>\bin by
running the following command:
C:\jdk1.6.0_17\bin>native2ascii -encoding utf-8 report.properties > newreport.properties

Note: When you convert your property file to the same directory as the original one, you need to give it a
new name instead of replacing the original in order to avoid problems.
8. Delete report.properties in <server_install_root>\resources\report\languages\[language-locale]
\properties and copy newreport.properties in <jdk_install_root>\bin to it, then rename the property file
back to report.properties.

Enabling the language for the report set


When the property file is ready, the next step is to enable the language defined in the file for the required report set.
1. Start JReport Server and log onto the JReport Administration page.

2. Browse to the row that the report set is in, then click the NLS Editor button in the Control column.

3. In the NLS Editor dialog, specify a report set and catalog version as required.

4. Click the button above the Language box, then in the Add Language dialog, choose the specified language
and click OK.

5. Click OK in the NLS Editor dialog to confirm the settings.

6. Browse to the row that the report set is in again and click the Properties button in the Control column.

7. In the Properties dialog, check the National Language Support option, then click OK to confirm.

Now the language will have been enabled for the report set.

Applying the localized link names to HTML report outputs


To apply the localized link names to HTML outputs of the specified report set, follow the steps below:
1. Log onto the JReport Console page and browse to the report set.

2. Put the mouse pointer over the report set row and click the Advanced Run button or Schedule button
on the floating toolbar.

3. In the Format/General tab of the Advanced Run/Schedule dialog, check Enable NLS and select the specified
language from the Using Language drop-down list.

4. Specify the other settings and finish the task. Then in the generated HTML outputs, you can see that the page
navigation links are displayed in the language you defined for the property file.
Tuning Performance
Many variables affect the performance of JReport Server. For example, the hardware and software
environment that it runs in. You may or may not have any influence in this regard, but you are able to
carry out performance tuning to make JReport Server efficient, reliable, and fast.
The following lists the factors that help with the server performance:
● Use Connection Pooling either by using JNDI and the connection pool of the application server or
JReport connection pooling using ConnectionPoolConfig.properties. See Configuring connection pool.

● For best performance and reliability you should change the JReport Server DBMS from Derby (the
internal Java DBMS) to your standard production DBMS or other DBMS you are familiar with. Derby is
included for out of the box ease of use but is not recommended for production use. See Configuring
the server database on the JReport Administration page.

● Limiting the number of actively running reports can avoid momentary system overload. Setting the
property performance.max.reports to a limited number in server.properties in the <install_root>
\bin directory can smooth out performance and provide higher overall throughput. The best number
depends entirely on your environment so needs to be configured after testing which setting provides
the highest throughput in your environment.

● When using an application server, you can achieve a similar result to performance.max.reports by
limiting the total number of active threads for JReport. You can assume a report consumes around 5
threads on average so setting the number of active threads to 50 is similar to setting performance.
max.reports=10 but may provide better overall throughput since it is has finer granularity to control
CPU utilization.

● Cache catalogs, report sets, and JReport web images by configuring the Configuration > Cache panel
on the JReport Administration page. This is effective when the same catalogs, templates and images
are used frequently but may harm performance when many different catalogs, templates and images
are used and the requested resource is not in the cache. In this case, it slows performance checking
the cache and wastes memory.

● Preloads catalogs and report sets by configuring the Configuration > Performance panel on the
JReport Administration page. This will improve the performance the first time the report or catalog is
used.

● Set log trace level and error level to record less information. In production servers trace level should
be OFF and error level should be ERROR unless you are searching for specific issues such as
monitoring the SQL statements sent to the DBMS.

● Convert reports from earlier versions into current version.

● Set task-level timeout for advanced run and scheduled tasks. This will ensure that users do not run
extremely long jobs accidentally.

● Modify the JVM heap size. Again this needs some testing on your system to determine the best
overall throughput. On 32-bit systems the maximum size is 2GB; however, on 64-bit systems the
maximum size is extremely large. The heap usage can be monitored by tools such as the JDK
jconsole application. Set a starting heap size just under your normal average usage (Use -Xms in
JRServer.sh/bat) and set the maximum heap (Use -Xmx) to the maximum that you want the heap to
grow. JReport can use additional heap to improve performance of queries and sorting and reducing
the number of garbage collections (GC) which use CPU time. However, using too much memory for
Java heap can impact performance of other applications.

● Set queue.policy=1, 2 or 3 in server.properties in the <install_root>\bin directory to turn on


using priorities so on demand reports will be higher than scheduled reports. By using the different
policies, you can dynamically adjust priorities so reports increase their priority the longer they wait in
the queue. A third high priority queue can also be enabled for on demand reports which need to run
immediately.

● Configure dhtml.properties to queue DHTML actions to ensure JReport Viewer features do not take
too many system resources and impact other functions.

● Set engine.single_thread=true or false in server.properties. Depending on your environment and


JDK, some systems run faster with a single threaded engine than with a multi-threaded engine. This
needs to be tested in your environment to determine which setting provides the highest throughput.

● Set the maximum number of user handlers to the optimal size by setting the httpserver.max.
handlers property in the server.properties file. This is the number of threads which are waiting to
handle user requests. Setting this larger than needed wastes resources; however, setting it too small
will mean that some users will not be able to access reporting until someone else exits.

● Adjust the engine's utilization of the CPU in accordance with your own requirements, by setting the
Engine Priority property to a higher or lower priority on the JReport Administration page >
Configuration > Advanced panel.

● Select the two options View Incomplete Pages and Format Page on Demand on the JReport
Administration/Console page > Profile > Configure DHTML Profile > Properties > Advanced tab for
faster viewing of the first page of large reports in DHTML format. The disadvantage is that to see the
actual number of pages, calculate complete report totals and create the TOC, the user has to
manually select the last page of the report.

● Be sure performance.exe_gc=false as the default in the server.properties file. This allows the JDK to
schedule garbage collections as needed rather than at specific times.

● Minimize the usage of Word Wrap to columns which really require it. Word Wrap requires that we pre-
format the data in memory to determine its size then wrap the field as necessary then continue to
format it. If fields never are large enough to wrap, especially objects like labels, it is a lot of
overhead.

● True Type Fonts (TTF) provide better throughput by reducing font substitution and scaling time.
Changing all the fonts to use TTF fonts improves the quality of the output as well as the performance
when a mixture of operating system is used such as report design on Windows and production on
Unix.

● Use binary versions of .cls and .cat, not the xml versions when you publish report sets to JReport
Server. This saves processing time and I/O time when converting the files to Java classes.
Monitoring
JReport Server Monitor, which is a standalone web-based application used to monitor the overall
performance of JReport Server, allows you to inspect the status of JReport Server, including the status
of the servers in the cluster, the status of different reports, the status of on-line users and so on.
JReport Server Monitor is able to generate and display the performance chart of JReport Server
according to its statistics. Thus you can view the performance of JReport Server in the form of Line
Chart Graph and Text. You can also use JReport Server Monitor to maintain JReport Server, such as
shutting down servers, stopping waiting/running tasks, logging out a valid user session and so on. By
creating profiling reports using JReport Server Monitor, you can inspect server performance in a certain
period of time.
To access JReport Server Monitor:
1. Launch MonitorServer.bat in <monitor_install_root>\bin.

2. Click Monitor on the system toolbar of the JReport Administration page.

The following topics detail how to use the Server Monitor:


● Monitoring the server status

● Monitoring the server performance


Monitoring the server status
JReport Server Monitor allows you to inspect the status of JReport Server. You can list the servers and
their status from a cluster. You can also list the reports by drilling down into the servers, for example,
running reports, waiting reports, finished reports, and failed reports. Tracking further down, you can
even view the status of these reports. However, JReport Server Monitor is not able to monitor the
information of a report that is running in DHTML format.
The following topics explain what JReport Server Monitor can do:
● Showing the status of servers in a cluster

● Monitoring the status of reports

● Monitoring the status of online users

● Monitoring the status of the database connection pool


Showing the status of servers in a cluster
By accessing the home page of JReport Server Monitor, you can see the status of each server in a
cluster, including the cluster member ID, host IP, port, and its status.
The Status table of the servers includes:

Column Heading Description


Cluster Member ID The ID of the server as a cluster member.
Host The host IP address of the server.
Port The RMI port number of the server.
Status The status of the server. Can be either Active or Inactive.
● Active - The server has been started and is ready for service.

● Inactive - The server is inactive and cannot be available for service.


Monitoring the status of reports
Expand any server node in the left panel of the JReport Server Monitor home page, and then click
Reports, you can see the status of the reports. You can select to view the status of different reports
from the drop-down list. There are five types of report status: all reports, running reports, waiting
reports, finished reports, and failed reports.

Status of all reports


The status table of all reports includes:

Column Heading Description


Report The full path name of the report.
User ID The ID of the user who submitted the report.
Submit Time The time when the task was last submitted.
Pages The total number of pages the last submitted report has.
Number of Runs The total number of report runs since it is first published to JReport Server.
Status The status of the submitted report.

Status of the running reports


The status table of the running reports includes:

Column Heading Description


Action Stops the report from running and makes it a failed report.
Task ID The internal ID for this report.
Report The full path name of the report.
User ID The ID of the user who submitted the report.
Task Status For running reports, can be one of the following:
● Running - The task is currently being processed.

● Initializing Engine - The task is currently in the initializing engine stage.

● Loading Report - The task is currently in the loading report stage.

● Exporting - The task is currently in the exporting stage.

● Exiting Engine - The task is currently in the exiting engine stage.

Task Type The task type.


Start Time The time when the task was started.
Elapsed Time The elapsed time since the task was started.
Submit Time The time when the task was submitted.
Run Host The name of the host on which the task is performed.
Run Port The port number of the host on which the task is performed.
Catalog The catalog that the report belongs to.

Status of the waiting reports


The status table of the waiting reports includes:

Column Heading Description


Action Stops the report from running and makes it a failed report.
Task ID The internal ID for this report.
Report The full path name of the report.
User ID The ID of the user who submitted the report.
Task Status For waiting reports, can be one of the following:
● Submitted - The task has been submitted successfully.

● Unlaunch - The task is currently in the unlaunch queue waiting to be


processed.

● Task Queue - The task is currently in the task thread queue waiting to be
processed.

Task Type The task type.


Submit Time The time when the task was submitted.
Catalog The catalog that the report belongs to.

Status of the finished reports


The status table of the finished reports includes:

Column Heading Description


Task ID The internal ID for this report.
Report The full path name of the report.
User ID The ID of the user who submitted the report.
Task Status Completed.
The task has been processed successfully, and has accomplished all the
requirements.
Task Type The task type. Can be Schedule or On-demand.
Run Host The name of the host on which the task is performed.
Run Port The port number of the host on which the task is performed.
Catalog The catalog that the report belongs to.
Result Files The path of the result files.
Report Pages The total page number of the report.
Reason The reason why the task failed. Can be an exception or a meaningful description.
Submit Time The time when the task was submitted.
Start Run Time The time when the report was started.
Completed Time The time when the report was completed.

Status of the failed reports


The status table of the failed reports includes:

Column Heading Description


Task ID The internal ID for this report.
Report The full path name of the report.
User ID The ID of the user who submitted the report.
Task Status Failed.
The task has encountered errors, and has failed to accomplish all the
requirements.
Task Type The task type.
Run Host The name of the host on which the task is performed.
Run Port The port number of the host on which the task is performed.
Catalog The catalog that the report belongs to.
Result Files The path of the result files.
Report Pages The total page number of the report.
Reason The reason why the task fails. Can be an exception or a meaningful description.
Failed Info The information about the report's failure.
Submit Time The time when the task was submitted.
Start Run Time The time when the report was started.
Completed Time The time when the report was completed.
Monitoring the status of online users
To see the status of the online users, expand any server node in the left panel of the JReport Server
Monitor home page, and then click Users. You can also select and remove specific users.
The status table of the online users includes:

Column Heading Description


Session ID The internal ID of the user session.
User ID The ID of the user logged onto the server.
Create Time The time when the user session was created.
Last Access Time The time when the user last accessed the server.
HTTP Session ID The session ID in the HTTP service.
Authentication The authentication type. It can be Internal or External.
Monitoring the status of the database connection pool
To see the status of the database connection pool, expand any server node in the left panel of the
JReport Server Monitor home page, and then click Databases. You can also select and remove specific
connections.
The status table of the connection pool includes:

# Column Heading Value Description


1 User String The user who is currently using the connection.
2 URL A URL connecting to a It specifies the connections that are based on a
database. URL which will be caught in the pool.
3 Expiring Time(s) 0 (default) or expiring Shows the time during which a connection can be
time. The unit is second. alive. If a connection has expired, the connection
If the value is zero then pool will close it.
the connection will never
expire.
4 Idle Expiring Time 1 (default) or expiring Shows the time during which a connection is kept
(s) time. The unit is second. after it starts idling. If a connection is not used, it
Its value must be larger will stay open until the idle expiry time has been
than or equals to 1. reached.
5 Maximal 0 (default) or a positive Shows the pool size, which limits the number of
Connection Count integer. connections under a single URL
6 Maximal Share 0 (default) or a positive Shows the number of users who can share a
Count integer. connection simultaneously.
7 Attempt A positive integer, the Shows whether to re-create a connection when
default value is 1. the connection pool has failed to create one and
the number of attempts for creating the
connection. If the user sets this value to a non-
positive integer, the default value (1) will be
used.
8 Interval(ms) 0 (default) or a positive If property ‘Attempt' is larger than 1, then before
integer. The unit is the connection pool retries to create a connection
millisecond (ms). it will wait for an interval time. This property
defines the interval time.
9 Last User 0 (default) or a positive It shows the time elapsed since the last user has
Connecting Time(s) integer. The unit is taken this connection.
second.
10 Current Idle Time 0 (default) or a positive Shows the time elapsed since the connection
(s) integer. The unit is started to idle.
second.
11 Current Share 0 (default) or a positive Shows the number of users who are currently
Count integer. sharing this connection.

Note: The properties numbered 2 to 8 can be set in the ConnectionPoolConfig.properties file in


<server_install_root>\bin and the last three properties will be shown according to the real time
status.
Monitoring the server performance
You can monitor the server performance in two ways, one is using JReport Server Monitor, and the other is by using an
external method: JMX MBean API or web service API.

Monitoring the server performance on JReport Server Monitor


JReport Server Monitor can show performance counters in graph (Line chart and Bar chart) and text mode.
To monitor the performance of JReport Server on JReport Server Monitor:
1. In the left panel of the JReport Server Monitor home page, click to select any server node.

2. Click the Performance tab, and then click on the toolbar.

3. Select a task type from the drop-down list, click to select the counters you want to add, and then click Add.

4. The performance chart will then be displayed.

The available counters for different tasks are:

Task Type Performance Counter Description


Report Task Waiting Report Number The number of the currently waiting reports.
Running Report Number The number of the currently running reports.
Finished Report Number The number of the finished reports.
Finished Report Pages The number of pages of the finished reports.
Report Average Processing Time The average processing time of each report.
Report Average Waiting Time The average waiting time of each report.
User Session Valid User Session Number The number of valid user sessions.
User Average Submit Rpt Num The average number of reports that a user submits.
Database Connection Database Connection Number The number of database connections.

Monitoring the server performance using JMX MBean API or web service API
To monitor server performance via JMX MBean API:
1. Make your application environment consistent with the JMX specification.

2. In server.properties, set the properties server.rmiserver.enable and server.profiling.enable to true.

3. Run your code. Here is an example:


ObjectName profilingName = new ObjectName("jinfonet:name=profileCounter");
ProfilingFactory ft = new ProfilingFactory("127.0.0.1",1129, "d:\\monitor");
ProfilingCounter profilingCounter = new ProfilingCounter(ft);
MBeanServer server = MBeanServerFactory.createMBeanServer();
server.registerMBean(profilingCounter, profilingName);
ProfileNotifyListener notifyListener = new ProfileNotifyListener();
profilingCounter.addNotificationListener(notifyListener, null,null);
// Create an RMI connector and start it
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/server");
JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, server);
cs.start();

In code part ProfilingFactory ft = new ProfilingFactory("127.0.0.1",1129, "d:\\monitor"), the


parameters serverHost and serverRMIPort are used to get server's ProfilingService remote object, parameter
homepath is the path of the rmi.auth file which is used for RMI authority checking public ProfilingFactory(String
serverHost, int serverRMIPort, String homepath).
4. Check the monitoring result.

To monitor server performance via web service API:


1. Build jreport.war with the makewar buildWar4WS command by using the makewar.bat utility in the <install_root>
\bin directory.

2. Deploy jreport.war to your application server such as Tomcat or WebSphere.

3. In server.properties, set the properties server.rmiserver.enable and server.profiling.enable to true.

4. Run your code. Here is an example:


XFire xfire = XFireFactory.newInstance().getXFire();
XFireProxyFactory factory = new XFireProxyFactory(xfire);
Class className = jet.server.profiling.ws.service.JReportServerProfilingWs.class;
String serviceName = "ProfilingService";
String serviceURL = "http://localhost:8080/jreport/services/ProfilingService";
Service serviceModel = new ObjectServiceFactory().create(className, serviceName, null, null);
JReportServerProfilingWs o = (JReportServerProfilingWs)factory.create(serviceModel, serviceURL);

//Setup properties
Client client = Client.getInstance(o);
client.setProperty("mtom-enabled", "true");
client.setProperty(HttpTransport.CHUNKING_ENABLED, "true");
//try call getCounter first before check login
try{
System.getCounter("totalcompletedtasks"));
}catch(Exception e) {
e.printStackTrace();
}
//call check login then call getCounter and getCounterType
o.checkLogin("admin", "admin");
System.getCounter("totalcompletedtasks"));

5. Check the monitoring result. When you run your code, you can call the two methods getCounter() and
getCounterType() to get the information you want.

The available counters used in JMX MBean API and web service API are:

Counter
Performance Counter Counter Name Description
Type
Total Completed Tasks TotalCompletedTasks int The tasks that are totally completed.
Number of Reports per NumberofReportsPerMinute float The number of the reports running per minute.
Minute
Total Number of Pages TotalNumberofPageExported long The total number of the exported report pages.
Exported
Exported Pages per Minute ExportPagesPerMinute float The number of exported report pages per minute.
Successful Tasks SuccessfulTasks int The tasks that have been run successfully.
On-demand Tasks OnDemandTasks int The tasks that have been run on-demand.
Average Number of Pages TaskAveragePages float The average number of report pages for each task.
Maximum Number of TaskMaximumPages long The maximum number of report pages for all tasks.
Pages
Average Running Time TaskAverageRunTime float The average running time of each task.
per Task
Maximum Running Time TaskMaximumRunTime float The maximum running time of the tasks.
Average Waiting Time per TaskAverageWaitTime float The average waiting time of each task.
Task
Maximum Waiting Time TaskMaxWaitTime float The maximum waiting time of the tasks.
Average Engine Time per TaskAverageEngineTime float The average running time of each task on engine.
Task
Maximum Engine Time TimeTaskMaximumEngine float The maximum running time of all tasks on engine.
Average Concurrent AverageConcurrentEngines float The average number of concurrent engines for each task.
Engines
Maximum Concurrent MaximumConcurrent long The maximum number of concurrent engines for all tasks.

In JMX MBean API and web service API, the data type of the profiling counters has to be Decimal. Below is a figure of
built-in data type hierarchy that you could refer for the return value:
Accessibility
JReport supports accessibility attributes and a built-in accessible JReport Server console. The
implementation standard is based on HTML specification 4.01 http://www.w3.org/TR/WCAG10-HTML-
TECHS/ and information on Section 508 Standards: www.section508.gov and www.access-board.gov.

Making HTML format report results accessible


When designing a report in JReport Designer, you can add the accessibility related HTML attributes to
the report elements in order to make the HTML format result more readable and accessible. Those
attributes are provided in the Accessibility category of the Report Inspector.
To add accessibility to a report in the HTML format result:
1. Predefine necessary accessibility attributes when designing the report in JReport Designer.
When a report element is selected, the corresponding accessibility attributes are available in the
Report Inspector.

2. Enable Section 508 compliant output when exporting the report to HTML format.
In the HTML export option UI, check the option Section 508 Compliant Output.
If you only want to convert table/crosstab components into HTML data table in the HTML format
report result, check the option Use HTML Data Table.
The above two options are available on all HTML export option UIs in JReport Designer, JReport
Server and JReport Viewer.

The accessible version of JReport Server


JReport Server enables the disabled users to visit the accessible version with simplified functionality to
read reports by reader agent or other assistive tools. In the accessible version, reports are displayed in
HTML format with accessibility attributes, and table/crosstab components are output as HTML data
table.
JReport Server provides an option - Use Accessible Version, for setting the accessible version of JReport
Server as the default portal UI for an end user after the user logs in. The default port for accessible
version is 8888 which is also the default port for JReport Console page in normal version. That is to
say, the Use Accessible Version option controls switching between normal version and accessible
version of JReport Server UI when logging onto port 8888. By default this option is unselected and end
users are directed to the JReport Console page in normal version.

Activating the accessible version


The administrator can activate the accessible version for all users or for an individual user:
● To enable for all users:
1. Log onto the JReport Administration page.

2. Click Profile on the system toolbar and then select Customize Server Preferences from the
drop-down menu.

3. Select the Advanced tab.

4. Check the Use Accessible Version option, then click OK to apply the change.

● To enable for an individual user:


1. Log onto the JReport Administration page.

2. Click Security on the system toolbar and then select User from the drop-down menu.

3. Locate the wanted user ID, then click the Preference link for the user.

4. In the Preference dialog, go to the Customize Server Preferences > Advanced tab.

5. Check the Use Accessible Version option, then click OK to save the change.

And a non-administrator user can also enable the accessible version by self on the JReport Console
page in the following way:
1. Log onto the JReport Console page and click Profile on the system toolbar.

2. Click Customize Server Preferences on the task bar of the Profile page, then select the
Advanced tab.

3. Check the Use Accessible Version option, then click OK to save the change.

After a user has been enabled the access to Accessible Version, the user will be directed to the
accessible version when he/she logs in next time. With the help of reader agent the user can navigate
through the server resource to view the target report.

Main options in the accessible version UI


Directory Path
Displays the current directory where you have come to follow the server resource tree.
Up to Higher Level Directory
Goes to the parent level folder.
Up to Top Level Directory
Goes to the default portal page.
Leave Accessible Version
Redirects to the normal version of JReport Console page with full functionalities. Once you leave the
accessible version, there is no way to return unless you re-log in. However, it is not recommended for
the disabled to leave the accessible version unless having others' help.
Select User Directory
You can choose to open either the My Reports folder or the Public Reports folder.
Catalog
Lists the catalogs used in the current directory.
Report List
Lists the folders and report sets and reports contained in the current directory. You can click the
hyperlinks in the Name column to open them.
JReport Portlet
JReport Portlet is a portlet implementation based on JSR-168 Portlet Specification. It is deployed and
run in a portal server container on the Java EE application server, to which JReport Server is deployed.
You can insert JReport Portlet objects into your portal page, and run reports in the JReport Portlet
window on the portal page. JReport Portlet provides DHTML report displays in the JReport Portlet
window, where necessary and easy-to-use ad hoc functions are available for you to manipulate and
customize reports.
However, a report that can run in a JReport Portlet should meet the following requirements:
● The report is the only report in the report set.

● The Portlet Report property of the report is set to true in JReport Designer. By default, this property
is false.

● There is only one dataset in the report.

The following topics are introduced about JReport Portlet:


● Preparing the webservice for JReport Portlet

● Deploying JReport Portlet to portal servers

● Adding JReport Portlet to the portal server

● Working with reports in JReport Portlet


Preparing the web service for JReport Portlet
Before you can deploy JReport Portlet to any portal server, your JReport Server should have been
deployed to an application server. You can refer to Deploying JReport Server to a Java application
server for details about the deploying procedure. However, the JReport Server WAR file jreport.war
used in the deployment should be packaged using the following command in this case (here it is
assumed JReport Server is installed to C:\JReport\Server):
C:\JReport\Server\bin\makewar buildWar4WS

Also, the reports you want to run in JReport Portlet should also be published to the JReport Webservice
Server, in advance, so that they can be loaded to the corresponding folder in JReport Portlet
automatically.
Assume that:
● You have downloaded the JReport demo portlet reports, which are available in PortletReports.zip in
<server_install_root>\help\server\en\samples, to C:\PortalDemo.

● The font and style files the demo portlet reports use have also been downloaded to C:\PortalDemo
\font and C:\PortalDemo\style. These files can be found in PR_Resources.zip which locates in
<server_install_root>\help\server\en\samples.

Note: If you want to use the demo reports JReport provides in JReport Portlet, before deploying jreport.
war to the web server, you need to add mysql-connector-java-5.x-bin.jar into \WEB-INF\lib, this is
because the JReport demo portlet reports are based on MySQL database. You can get the database
driver from PR_Resources.zip which is available in <server_install_root>\help\server\en\samples.

To publish the demo reports to the JReport Webservice Server:


1. Start the application server in which JReport Server is deployed.

2. Open a web browser and set the URL to http://<hostname>:<webserver_port>/jreport to


access the JReport Webservice Server.

3. Open the My Reports/Public Reports folder, then click Publish > To Local Server on the task
bar.

4. In the Publish to Local Server page, click the Browse button next to the From Folder field to
select the folder C:\PortalDemo where the portlet reports are saved.

5. Click the Browse button next to Font Directory, and then browse to select C:\PortalDemo\font.

6. Click the Browse button next to Style Directory, and then browse to select C:\PortalDemo\style.

7. Specify a name in the Resource Node Name box. This name is required and is used as the display
name of the resource in the server resource tree.

8. Click OK to publish the resources. Upon finishing, you will find a new folder of the specified
resource node name is added in the My Reports/Public Reports folder with the portlet reports.

After the portlet reports are published to the My Reports/Public Reports folder in the JReport
Webservice Server, they will also be automatically loaded to the My Portlet Reports/Public Portlet
Reports folder in JReport Portlet.
Reference: You can refer to Publishing resources for more detailed instruction about the publishing
steps.
Deploying JReport Portlet to portal servers
Assume JReport Server is installed to C:\JReport\Server, before you can deploy JReport Portlet to
any portal server, you need to package the JReport Portlet WAR file by running the following command.
C:\JReport\Server\bin\makewar buildPortletWar

When this is done, you can find the file jrportlet.war in C:\JReport\Server\bin\distribute. Then
you need to edit web.xml in \WEB-INF as follows:
● Modify the host and port of of the webservice server according to your environment.

● Set the value of jreport.authorized according to the portal server you install.

The following introduces how to deploy JReport Portlet to some specific portal servers. The web portal
servers supported are WebSphere 6.0.0.1, JBoss 2.6.5.SP1, Liferay 4.3.5, and above.

Deploying to WebSphere Portal


Assume that the WebSphere Portal Server has been installed in C:\websphere, to deploy JReport
Portlet to the portal server:
1. Start WebSphere Portal Server, open a web browser and set the URL to http://hostname:10038/
wps/myportal to access the WebSphere Portal.

2. Enter wpadmin for the User ID and admin for the Password, click Login and the WebSphere
Portal home page is displayed.

3. Click Launch to open the main menu, then click Administration > Web Modules on the menu.

4. On the Manage Web Modules page, click the install button.

5. Click Browse to find jrportlet.war in C:\JReport\Server\bin\distribute.

6. Click Finish to deploy JReport Portlet to the portal server.

Deploying to JBoss Portal


Assume that you have downloaded JBoss Portal 2.6.5-SP1 into C:\jboss, to deploy JReport Portlet to
the portal server:
1. Copy jrportlet.war in C:\JReport\Server\bin\distribute to C:\jboss\server\default\deploy.

2. Start JBoss Portal Server to finish deploying.

Deploying to Liferay
Assume that you have installed Liferay in C:\liferay, to deploy JReport Portlet to the portal server,
you can use one of the following two methods:
● Method 1:
1. Copy jreport.war in C:\JReport\Server\bin\distribute to C:\liferay\webapps.

2. Copy jrportlet.war in the same directory to C:\Documents and Settings\user name\liferay


\deploy.

3. Start Liferay to finish deploying.

● Method2:
1. Start Liferay, then open a web browser and set the URL to http://localhost:8080/user/
joebloggs to access the Liferay home page.

2. Click Plugins, and the plugin Installer dialog appears.

3. Click the Upload File tab.

4. Click Browse to find jreport.war in C:\JReport\Server\bin\distribute.

5. Click Install to finish.

6. Follow the above steps to deploy jrportlet.war.

Note: Because the Liferay Portal Server is integrated with Tomcat, you can deploy jreport.war to
Liferay directly instead of to the web server as explained in Preparing the webservice for JReport Portlet.
Adding JReport Portlet to the portal server
When JReport Portlet is successfully deployed to the portal server, the next step is to add it to the
portal server, so that you can work on the reports you have published to the JReport Webservice
Server, which are also available in JReport Portlet. This section explains adding JReport Portlet to
WebSphere Portal, JBoss Portal and Liferay specifically.

Adding to WebSphere Portal


To add JReport Portlet to WebSphere Portal, follow these steps:
1. Start WebSphere Portal Server, open a web browser and set the URL to http://hostname:10038/
wps/myportal.

2. On the WebSphere Portal home page, click Launch to open the main menu.

3. On the main menu, click Administration > Manage Pages. The Manage Pages page is then
displayed.

4. Click the Content Root link in the My pages table, and then click the New Page button to access
the Page Properties page.

5. Specify the title of the page as JReport in the Title text field, then click OK to add the page.

6. Click Launch again to open the main menu, then click JReport on the menu to access the
JReport page.

7. Click at the upper right corner of the page to open the portlet palette.

8. Enter JReport in the Search field, then click . JReport Portlet View is then displayed in the
search result list.

9. Drag the portlet to the JReport page.

Adding to JBoss Portal


To add JReport Portlet to JBoss Portal, follow these steps:
1. Start JBoss Portal Server, open a web browser and set the URL to http://localhost:8080/
portal.

2. Click Login in the upper right corner of the JBoss Portal page.

3. In the JBoss Login Portal dialog, enter admin for Username and admin for Password, then click
Login.

4. On the JBoss Portal home page, click Admin at the upper right corner, then click the Admin tab.

5. Click the Portlet Definitions sub tab, and then click the Create instance link in the JReport
Portlet View row.

6. In the JReport Portlet View instance creation dialog, enter JReport in the Create an instance
named text field, and then click the Create instance button.

7. In the Portlet Instances sub tab, enter JReport in the Add Instance Display Names text field,
select English in the Locale drop-down list and click Add Name.

8. Click Dashboard > Configure dashboard at the upper right corner of the JBoss Portal page.

9. In the Create a New Page dialog, specify JReport in the Page name text field, then click Save to
create the page.

10. Enter JReport in the Window Name text field, click Add button in the Page Layout panel, then the
JReport page will be added to the Portlet Instance associated to this window box.

11. Click Dashboard at the upper right corner to return to the JBoss Portal home page.

12. Now you can see the JReport tab is added on the JBoss Portal page.

Adding to Liferay
To add JReport Portlet to Liferay, follow these steps:
1. Start Liferay, open a web browser and set the URL to http://localhost:8080 to access the
Liferay home page.

2. Point to Welcome at the upper right corner of the home page, then click Sign In.

3. In the Sign in with a regular account box, enter [email protected] for Login and test as the
password, then click SIGN IN.

4. On the Liferay home page, click Add Page, enter JReport in the page name text field, then click
Save. A tab named JReport is then added.

5. Click the JReport tab, then expand the Welcome Joe Bloggs list and click Add Content on the
list.

6. In the Add Content dialog, click on JReport and then click the Add button to add one JReport
Portlet View window. You can add several windows according to your requirements by clicking the
Add button.

7. Close the Add Content dialog. Now JReport Portlet is ready on Liferay.
Working with reports in JReport Portlet
When reports are published to JReport Portlet, you can then run them and perform actions like sorting,
filtering, drilling, etc to the reports according to your requirements just as you do on JReport Server.

Running reports
To run a report in JReport Portlet:
1. Open JReport Portlet on the portal server.

2. In the Select Report window, select the report you want to run from the report list.

3. Click OK. If the report has parameters, you will be asked to specify the parameter values. Enter the
parameter values as required and then click Submit.

Note that, in the report list, only the reports that are published to the My Reports folder on the JReport
Webservice Server are listed. So if your reports are published to the Public Reports folder, to make them

available in the list, click Customize Report List button in the Select Report window, then add the
reports from the Public Portlet Reports box to the My Portlet Reports box.
In the Select Report window, you can also rename the reports, or remove any report that is not required
according to your requirements.

● To rename a report, select the report from the report list, click the Rename Report button , then give
a new name for the report in the Rename Report dialog as required. Or, you can just double-click the
report row to rename it.
● To remove a report, select the report you from the report list, then click the Remove Report button .

Working with reports


When a report finishes running and is displayed in the JReport Portlet window, the following toolbar
commands are available in the window for you to work with:

Open
Opens another report in the window.

Rerun
Reruns the report to refresh the report data.

Export Excel
Exports the report result to Excel format.

Export PDF
Exports the report result to PDF format.

Sort
Sorts the report data in ascending or descending order on the fields you select.

Filter
Filters the report data according to the filter criteria you specify.
<Select a chart type>
For a chart report, you can change its chart type by selecting another type from the drop-down list.
Page navigation
If a report contains several pages, you can click the page number and the arrow buttons to navigate through
the report pages.
Besides the above operations, you can also drill the data in a crosstab into other dimensions, go to the
details of a group in a report, and link to another report or a detail report, so as to make the analysis of a
report more diverse and useful.
For details about the operations, refer to the specific topics in JReport Viewer - Interactive Reports.

Tip: The JReport Portlet window for each report can be customized according to your requirements. To do
this, In the report display window, click the Preferences button , then specify the window title and the
toolbar commands that you want to display in the JReport Portlet window for the report.
Note: WebSphere portal server does not support dynamic portlet title by default. In order to use a dynamic
portlet title on WebSphere, you need to modify <WebSphere Portal Profile>\installedApps\<Node>\wps.
ear\wps.war\skins\html\IBM\control.jsp:

1. Change
<portal-skin:portletTitle>
<portal-fmt:problem bundle="nls.problem"/>
</portal-skin:portletTitle>

to
<span id="title.<portal-skin:portletID/>">
<portal-skin:portletTitle>
<portal-fmt:problem bundle="nls.problem"/>
</portal-skin:portletTitle>
</span>

2. Add the following code at the end of control.jsp:


<script type="text/javascript">
var dynamicTitle = "<%=request.getAttribute(com.ibm.portal.portlet.Constants.
DYNAMIC_TITLE)%>";
var titleElement = document.getElementById("title.<portal-skin:portletID/>");
if (titleElement != null) {
if (dynamicTitle != "" && dynamicTitle != "null")
titleElement.innerHTML = dynamicTitle;
}
</script>

For more, see http://www.ibm.com/developerworks/websphere/library/techarticles/0612_rick/0612_rick.


html.
Working with APIs
APIs provide extensibility by enabling you to leverage JReport components and services, and build
them into other applications, thus integrating JReport with their existing platform infrastructure.
For details about the usage of APIs available in JReport Server, see JReport Server Javadoc located in
<install_root>\help\server\en\api.

This chapter introduces how to install and utilize two types of significant APIs:
● JReport Server API

● DHTML API
JReport Server API
JReport Server API is a set of Java programming interfaces that run report sets, explore report
resources, and provide access control for report servers. It is mainly used for writing servlets, JSPs and
Java applications with report server features.
The following topics are covered in this chapter:
● Installing the Server API

● Creating and getting instances of the ReportEngine

● Creating and getting instances of RptServer or HttpRptServer

● Invoking the Server API

● Overall Remote Server API & unified JSP

● Secure RMI objects and universal RMI object management

● Loading user data source classes at runtime

● Applying a user defined CSS to the HTML result file

● Specifying paths for the result files when using On-Demand API

● Setting dynamic parameter values when running/scheduling report set via API

● Setting values of multi-value parameters via API

● API demos

● RMI demos

● Additional references
Installing the Server API
When you install JReport Server, JReport Server API is also installed at the same time. After
installation, you will have the following files:
● In <install_root>\lib:

❍ JRESServlets.jar

❍ JREngine.jar

❍ servlet.jar

❍ hsqldb.jar

❍ log4j-1.2.8.jar

❍ sac.jar

❍ commons-codec-1.2.jar

● In <install_root>\derby\lib:

❍ derby.jar

❍ derbyclient.jar

❍ derbynet.jar

❍ derbytools.jar

The Server API classes are stored in the archive file JRESServlets.jar.
You need to set the classpath environment variable. Append the following jar files to your classpath
that compile and run applications which call the Server API:
<install_root>\lib\JRESServlets.jar; <install_root>\lib\JREngine.jar; <install_root>\lib
\servlet.jar; <install_root>\lib\hsqldb.jar; <install_root>\lib\log4j-1.2.8.jar;
<install_root>\lib\sac.jar; <install_root>\lib\commons-codec-1.2.jar; <install_root>
\derby\lib\derby.jar; <install_root>\derby\lib\derbyclient.jar; <install_root>\derby\lib
\derbynet.ja; <install_root>\derby\lib\derbytools.jar;

Note: If you want to export reports to the following formats, you should add the corresponding class
package or jar with a valid path to the class path:
● To e-mail or use the E-mail Notification function: activation-1.1.jar and mail-1.4.jar.

● To FTP: commons-net-ftp-2.0.0.jar.

● To PDF & DHTML: itext_1.5.4.jar.

● To Excel: poiHSSF_151.jar.

● To XML: xml-apis.jar and xercesImpl.jar.

● To DHTML: JRWebDesign.jar.
Creating and getting instances of ReportEngine
To get an instance of the ReportEngine, you can use the method getInstance() or getInstance(boolean
setDebugLevel) in the jet.server.api.engine.ReportEngineFactory.
For example,
bean = ReportEngineFactory.getInstance();

or,
bean = ReportEngineFactory.getInstance(true);

Reference: See JReport Server Javadoc in <install_root>\help\server\en\api for usage of the


ReportEngine methods.
Creating and getting instances of RptServer or HttpRptServer
You can use the following three methods to get the instances of RptServer or HttpRptServer. Note that
only one server can exist in the system, and in most circumstances, you should get the server instance
instead of creating a new one.

Method 1
Use the method jet.server.api.http.HttpUtil.initEnv(Properties props).
The method jet.server.api.http.HttpUtil.initEnv(...) creates and initializes the HttpRptServer object. If
the HttpRptServer has already been started, it will use the existing HttpRptServer instance. Use this
method to avoid creating more than one HttpRptServer instance.
//prepare report server initial properties.
//The property reporthome must be set. For example: c:\JReport\Server.
//Other properties are optional. They are:
//jrs.isMyServer: Indicates if the HTTP server is JReport standalone server.
//The default value is "false".
//temp_dir or jrs.dir.temp: The path of temp directory.
//The default value is <reporthome>\temp.
//history_dir or jrs.dir.history: The directory where all the versions
//of report set results will be maintained.
//The default value is <reporthome>\history.
//auth_scheme: It specifies the scheme of authentication.
//Its value must be Basic or Digest.The default value is Basic.
//default_doc: The home page of JReport Server
//It is an HTML file. If it is not set or the file set to it cannot be loaded,
//the default home page of JReport Server will be used.
//The path is relative to <install_root>, for example, docs/index.html.
//isConvertedServletPath: This property specifies whether your web server
//decodes the path if it contains special characters.
//This information is used for JRServlet to determine whether it needs
//to convert that path. If you don't specify this property, your web server
//is not supposed to decode the path.
//vError: Enables JReport Engine to output messages to a file and sets engine
//log file's trace level to OFF and error level to ERROR.
//vDebug: Enables JReport Engine to output messages to a file and sets engine
//log file's trace level to INFO and error level to WARN.
//Properties props = System.getProperties();
//get an initialized instance of HttpRptServer
HttpUtil.initEnv(props);
//also can get the instance of HttpRptServer by using
HttpUtil.getHttpRptServer()
// after called HttpUtil.initEnv(props)
jet.server.api.http.HttpRptServer httpRptServer = HttpUtil.getHttpRptServer();
//demo cast HttpRptServer to RptServer
jet.server.api.RptServer rptServer = httpRptServer;
Method 2
Call the method HttpUtil.checkLogin(HttpServletRequest req, HttpServletResponse res).
The method jet.server.api.http.HttpUtil.checkLogin(...) implicitly calls HttpUtil.initEnv(...) if necessary.
So you can get the HttpRptServer after calling HttpUtil.checkLogin(...).
// check login at first
if (HttpUtil.checkLogin(request, response))
{// get the instance of HttpRptServer
jet.server.api.http.HttpRptServer httpRptServer = HttpUtil.getHttpRptServer();
// do something
}

Method 3
Directly create an instance of HttpRptServer.
Demo 1:
//create an instance of HttpRptServer jet.server.api.http.HttpRptServer
//httpRptServer = new jet.server.jrserver.http.JRHttpRptServer();
//initialize the HttpRptServer.
//The property reporthome must be set.
//For example: c:\JReport\Server.
//Other properties are optional. The properties are:
//jrs.isMyServer: Indicates if the HTTP server is JReport standalone server.
//The default value is "false".
//temp_dir or jrs.dir.temp: The path of temp directory.
//The default value is <reporthome>\temp.
//history_dir or jrs.dir.history: The directory where all the versions
//of report set results will be maintained.
//The default value is <reporthome>\history.
//auth_scheme: It specifies the scheme of authentication.
//Its value must be Basic or Digest.The default value is Basic.
//default_doc: The home page of JReport Server. It is an HTML file.
//If it is not set or the file set to it cannot be loaded,
//the default home page of JReport Server will be used.
//The path is relative to <intall_root>, for example, docs/index.html.
//isConvertedServletPath: This property specifies whether your web server
//decodes the path if it contains special characters.
//This information is used for JRServlet to determine whether
//it needs to convert that path. If you don't specify
//this property, your web server is not supposed to decode the path.
//vError: Enables JReport Engine to output messages to a file and sets engine
//log file's trace level to OFF and error level to ERROR.
//vDebug: Enables JReport Engine to output messages to a file and sets engine
//log file's trace level to INFO and error level to WARN.
//at least the property reporthome should be set.
httpRptServer.init(System.getProperties());
httpRptServer.start();
Demo 2:
//create an instance of RptServer
jet.server.api.RptServer rptServer = new jet.server.jrserver.JRRptServer();
// initialize the RptServer.
// at least the property reporthome should be set.
rptServer.init(System.getProperties());
rptServer.start();
Invoking the Server API
JReport Server API can be invoked either by JSP or Servlet. This section presents to you the two
methods in detail.

Invoking using JSP


There are example JSPs which use the Server API in <intall_root>\public_html\jinfonet.

WebViewServlet and SendFileServlet are built-in servlets. WebViewServlet responds to the run-report
requests, while SendFileServlet sends the requested file to the client end. For Example, our JSP
example rsthtml.jsp calls SendFileServlet to send files such as jar file and report set results, and
getRptDescPage.jsp calls WebViewServlet to run report sets.
Here is a simple JSP example:
<%@ page import="java.io.*, java.util.*,jet.cs.util.*" %>
<%@ page import="jet.server.api.http.*" %>
<%@ page import="jet.server.api.*" %>
<%
try{
if( !HttpUtil.checkLogin(request, response) )
return;
}catch(TooManyUsersException e){
%>
Too many users!
<%
return;
}catch(TooManyTimesException e){
%>
Too many times to try to login!
<%
return;
}

if( !HttpUtil.checkPermission(request) ){
%>
Access denied!
<%
return;
}
try{
HttpRptServer httpRptServer = HttpUtil.getHttpRptServer();

String user = HttpUtil.getUser(request);


String cat = "/SampleReports/SampleReports.cat";
String rptName = "CustomerAnalysis.cls";

Properties ht = new Properties();


int rstType = APIConst.HTML;
// set result type
ht.put(APIConst.TAG_RESULT_TYPE, String.valueOf(rstType));

System.out.println("============================ht="+ht);
// the rst is name of the first HTML result page
String rst = httpRptServer.runReport(user, cat, rptName, ht);
if (rst == null) {
// warning error
} else {

// register the owner of the result.


httpRptServer.getTempResultOwnerManager().registerOwner(user,
HttpUtil.getTempResultKey(new File(rst).getName()));

// make the URL to view the first HTML result page.


// The "/sendfile/" is the path of built-in servlet of SendFileServlet
// of JReport Server. This rstURL will redirect to the SendFileServlet.
// The SendFileServlet will send the HTML result page to the client.
String rstURL = request.getScheme() + "://" + request.getServerName() +
":" + request.getServerPort() +
"/servlet/sendfile/result/" + HttpUtil.encodeEsc(new File(rst).getName());
// redirect to the rstURL
response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
response.setHeader("Location", rstURL);
response.setHeader("Content-Location", rstURL);
}
}catch(RptServerException e){
// output error
e.printStackTrace();
}catch(Throwable t){
// output error
t.printStackTrace();
}
%>

Invoking using Servlet


After you have installed JReport Server, you will find the illustrative test program
ViewHtmlPipelineServlet.java in <install_root>\help\server\en\samples.

Here is how ViewHtmlPipelineServlet.java works. First, the mapping.properties file and servlet.
properties file in <install_root>\bin should be modified before it can be run. /viewrpt=viewrpt
should be added into mapping.properties. And servlet.viewrpt.code=ViewHtmlPipelineServlet should be
added into the servlet.properties file as below:
# jrserver servlet
servlet.jrserver.code=jet.server.servlets.JRServlet
servlet.jrserver.initArgs=\
temp_dir=temp,\
history_dir=history,\
default_doc=docs\\index.html,\
debug=on
servlet.viewrpt.code=ViewHtmlPipelineServlet
servlet.webview.code=jet.server.servlets.WebViewServlet
servlet.sendfile.code=jet.server.servlets.SendFileServlet
servlet.webreporting.code=jet.web.design.Designlet
servlet.jrdhtml.code=jet.web.dhtml.DHTMLRunReportlet
servlet.dhtml.code=jet.web.dhtml.DHTMLlet
servlet.help.code=jet.web.dhtml.JHelplet
servlet.jspservlet.code=org.apache.jasper.servlet.JspServlet
servlet.jspservlet.initArgs=keepgenerated=false, development=false, reloading=true,
scratchdir=C:\JReport\Server\scratchdir

Note: If you want to access the temporary result files generated by running reports with the Server
API, you should register as the owner of the temporary results by invoking the method jet.server.api.
TempResultOwnerManager.registerOwner(String owner, String tempResult) and then you can view the
temporary result files via URL or by clicking the link on the Background Tasks page, or else an Access
denied error warns.
Overall Remote Server API & unified JSP
JReport Server allows you to run our JSPs on other machines. For example, you can invoke JReport Server
interface remotely, so that you can conveniently use the Remote Server API to accomplish your tasks. By
using JSPs in your web applications, the Remote Server API enables you to perform report set running tasks
remotely, to view the report set result directly from the client side, and to administer JReport Server, without
having to install JReport Server on the client machine.
You can find the Remote Server API in the jet.server.api.rmi package in the JReport Server Javadoc located in
<install_root>\help\server\en\api.

Before using the Remote Server API, you must make sure that:
1. The RMI service is opened in JReport Server side.
Set the server.rmiserver.enable property to true in the server.properties file located in <install_ root>
\bin.

When JReport Server resides behind a firewall, you need to specify a fixed port in order to pass through
the firewall and obtain the remote objects from the client side by setting the server.rmiserver.fixed_port
property in the server.properties file.

2. JReport Server remote host and port information is passed to the client application.
Set the following parameters as the JVM environment variables in the client side:
❍ Djrs.remote.host=<HOST_NAME/IP_address>

❍ Djrs.remote.rmiport=<HOST_PORT>

❍ Djrs.rmi.auth_file=<authFileName> (optional)

You have two alternatives for setting these parameters:


❍ You can add -Djrs.remote.host, -Djrs.remote.rmiport and -Djrs.rmi.auth_file (optional) to the batch
file that is used to start your application.

❍ If you are in an integration environment, you can also add the following to the web.xml file:
<context-param>
<param-name>jrs.remote.host</param-name>
<param-value>127.0.0.1</param-value>
</context-param>
<context-param>
<param-name>jrs.remote.rmiport</param-name>
<param-value>1129</param-value>
</context-param>
<!-- The third param(jrs.rmi.auth_file) is optional. "authFileName" includes the auth
file's realpath and auth file name. For example: C:\JReport\Server\bin\rmi.auth-->
<context-param>
<param-name>jrs.rmi.auth_file</param-name>
<param-value>C:\JReport\Server\bin\rmi.auth</param-value>
</context-param>
<listener>
<listener-class>jet.server.servlets.JRServerContextListener</listener-class>
</listener>
Administering JReport Server remotely
JReport Server can be administered from a remote client by Remote Admin Service API. The administration of
a JReport Server includes cluster administration, resource administration, security administration,
configuration, connection pool management, resource alias management, connection information provider
service, and catalog information management.
You can find the Remote Admin Service API in the jet.server.api.rmi.admin package available in the JReport
Server Javadoc which is located in <install_root>\help\server\en\api.

Before a JReport Server can be performed the remote administration operation on, you need to set the
following properties in the server.properties file located in <install_ root>\bin in the JReport Server side:

● server.rmiserver.enable=true
Used to open the RMI service.

● server.rmiadminservice.enable=true
Used to open the administration service in the RMI server. By default this property is set to false and the
JReport Server does not support remote administration.

● server.rmiserver.fixed_port=<AnOpenedPort>
Required when JReport Server runs behind a firewall.

Using single sign-on in RMI client


For implementation in a standalone server, follow the steps below:
1. Write your HttpExternalAuthorized implementation. For details, see Server security - Single sign-on.

2. Compile Java classes. Compiling requires the library JRESServlets.jar, which can be found in
<install_root>\lib directory.

3. Modify the class path used by your RMI client to include your external authentication classes, so that
your application of RMI can access them.
If it is in an integration environment, you can add the authentication classes in a folder named classes in
the WEB-INF folder.

4. Modify the start file of your RMI client to define the system property jrs.httpExternalAuthorized with your
implementation.
For example, assuming that the implementation of this interface is com.mycorp.
HttpExternalAuthorizedImpl.class, use the command line to start the RMI client:
java -Djrs.httpExternalAuthorized=com.mycorp.HttpExternalAuthorizedImpl ....

Then, restart the RMI client.


Secure RMI objects and universal RMI object management
RMI is frequently used in JReport Server, such as for clustering, event system, Remote API, and
monitoring system. To avoid security risks and the mess of using the RMI registry (all the remote
objects bound with the RMI registry directly can cause the remote objects to be unmanageable),
universal remote object management has been introduced into JReport Server.
In the universal remote object management system, when getting a remote object to perform certain
operations, either on a server (local or remote) or in a 3rd-party application (via Remote API), a
request must be sent to the remote object management to get that special remote object. Also,
authentication is required before any request for a remote object can be processed.

The authentication file


The authentication process requires a remote authentication file that contains the authentication
information to accomplish the security check. The remote authentication file (<install_root>\bin
\rmi.auth) is generated by JReport Server automatically during the server installation process. You
can protect your authentication file by moving it to a safe place after installation.

Using the authentication file


The authentication file is commonly used in the following circumstances:
● In JReport Server, the remote object management system will use an authentication file, which
resides in the <server_install_root>\bin directory.

● In JReport Server Cluster, make sure that the authentication files on all clustered servers are the
same. If you want to add a new JReport Server that has a different authentication file to the server
cluster, you should first backup the authentication file of that server, and then copy the
authentication file from a clustered server in the JReport Server cluster to <server_install_root>\bin.

● This file can then be used in JReport Server Monitor. Copy the authentication file generated by the
JReport Server installation process to the directory <monitor_install_root>\bin. JReport Server
Monitor will then fetch it from <monitor_install_root>\bin and build an authInfo object.

● If the Remote API is used, you must specify the authentication file when launching an application
that contains the Remote API invocations. For example, java -cp ... -Djrs.rmi.auth_file=%
authFileName% mainClass. Also, you can specify a string by specifying the content of the
authentication file. For example, java -cp ... -Djrs.rmi.auth_string=my_auth_info mainClass.
Alternatively, you can specify the authentication string yourself arbitrarily. As long as the
authentication strings that the local and remote server both hold are the same, you can pass the
authentication check: java -cp ... -Djrs.rmi.auth_string=my_auth_info mainClass.

Note: In JReport Server and JReport Server Monitor, you can also use -Djrs.rmi.auth_file or -
Djrs.rmi.auth_string in the startup file. JReport Server/JReport Server Monitor looks up these
three locations in turn (-Djrs.rmi.auth_string => -Djrs.rmi.auth_file => <monitor_install_root>
\bin) when checking authentication information. The information first found will be used for the
authentication check in the remote object management system.
Ways to generate authentication information
The authentication information can be of any bytes, as long as the authInfo objects match between the
local and the remote server. The following are the methods for specifying authentication information:
● You can get the authentication file (rmi.auth) generated when installing the server.

● You can use the RMIAuthFileCreator.bat file stored in <server_install_root>\bin to generate the
authentication file.

● You can compose any string into the auth file using any text editor.

● You can compose any string as the value of the system property -Djrs.rmi.auth_file or -Djrs.rmi.auth
to specify authentication information.
Loading user data source classes at runtime
JReport allows you to create your report sets using user data source (UDS), user defined objects
(UDO), and user defined formulas (UDF). When you publish the report sets using UDS, UDO or UDF to
your production environment, JReport requires the UDS, UDO or UDF jars to be in the classpath or part
of the EAR bundle. This might be difficult for you. You need to shut down your application and wrap the
new UDS, UDO or UDF classes into the WAR or EAR or put them in the classpath of the application
server.
The feature Loading User Classes at Runtime can solve this issue. That is, for standalone JReport
Server, or in your embedded application server calling the Server API, you can control loading the
classes at runtime without shutting down your application.

Methods
There are two important methods in the Server API that you need to call to dynamically load your UDS
classes:
● String jet.server.api.ServerEnv.getDynamicClassDir()
Retrieves the path of the dynamic classes of the report server.

● static void jet.server.api.engine.ReportEngineFactory.loadClasses(String path)


Loads the dynamic classes from the location specified by the path parameter.

Usage
Follow the steps below:
1. Specify a folder location on the machine where JReport Server runs to hold all the UDS/UDO/UDF
jar files, so that you can specify to load the classes from that folder. When JReport Server
initializes, you can specify the location in one of the following ways:
❍ Using the Server API static void jet.server.api.http.HttpUtil.initEnv(java.util.Properties
props)
Use the key server.dynamic.class.dir to set the location, for example:
System.getProperties().put("server.dynamic.class.dir", "c:\\JReport\\Server\
\dynamic"); HttpUtil.initEnv(System.getProperties());

❍ Using the option -Dserver.dynamic.class.dir in the server/application startup file


It will be loaded to system properties. Here is an example:
-Dserver.dynamic.class.dir=YOUR_FOLDER

❍ Using the property entry server.dynamic.class.dir in the server.properties file located


in <install_root>\bin

The default value of this property is <install_root>\dynamicclasses. Here is an example:

server.dynamic.class.dir=YOUR_FOLDER.
Note: In general, among the above three approaches, the first has the highest priority, and
the third has the lowest.
2. Check the dynamic UDS/UDO/UDF folder any time by calling the method static String jet.server.
api.ServerEnv.getDynamicClassDir().
Usage of the method:
HttpUtil.getHttpRptServer().getServerEnv().getDynamicClassDir()

Example:
System.out.println("Dynamic path"+httpRptServer.getServerEnv().getDynamicClassDir
());

You can get the path's value in your own properties file. You can even copy your UDS/UDO/UDF
jar files to the above folders programmatically.

3. Specify to load classes at runtime by calling the method static void jet.server.api.engine.
ReportEngineFactory.loadClasses(java.lang.String path). The parameter path is the dynamic class
folder.
For example:
ReportEngineFactory.loadClasses(httpRptServer.getServerEnv().getDynamicClassDir());

Notes (technical issues):


● Only *.jar or *.zip packages in the specified folder including resource files (recommended *.jar) will
be loaded, which excludes the sub directories and unpackaged classes.

● If there are duplicated classes (having the same package and class name) in different *.jar files, the
default loading sequence is in time order. The latest modified file will be loaded first, and the older
ones will be neglected.

● If you split one dynamic UDS classes into different *.jar or *.zip packages and also want to take
advantage of dynamic loader, then you should follow the below rules:
❍ The jar with the main class implementing JRUserDataSource class of the dynamic UDS must be in
the dynamic class folder.

❍ The classes in the *.jar or *.zip packages in the dynamic class folder can call or refer the classes
under the JVM's class path, it cannot work in reverse.

● If your UDS classes also go to load the recourse files,


❍ You should bundle the resource files into a jar no matter whether it is in the same class jar file or
not.

❍ In addition, the classes (in the *.jar or *.zip ) in the dynamic class folder can get the recourse files
both in the dynamic class folder and under the JVM class path. However, the classes under the JVM
class path cannot get the resource files in the dynamic class folder.

● When you call the API for loading the classes, JReport Server will not kill the running catalogs and
report sets but run them using the old UDS classes, and freeze new report sets until the loading
action has finished.

● JReport Server will try loading dynamic classes in the above way. If failed, it will try loading them in
the traditional way (using the class path in the JReport Server startup file, or EAR/EAR in embedded
integration environment). Once it fails to find the classes, ClassNotFoundException will be thrown.
● For the UDO classes, only the creator class and render class can be loaded.
Applying a user defined CSS to HTML result file
When exporting a report to HTML format, a .css file will be generated automatically by JReport to
control the appearance and layout of the result file. When exporting a report to HTML format with
Server API, JReport enables you to apply your own .css file to the HTML result file.
To apply user defined CSS to HTML result file:
1. In JReport Designer, specify the CSS selector in your own CSS for report objects.
Select the object which you want to apply in your own CSS, and in Report Inspector, specify a
value for the CSS property External CSS Class Selector. The value of the property should be the
selector in your .css file.

2. Publish the report set in which the report is located to JReport Server (for details, see Publishing
resources).

3. Edit your JSP file that invokes the interface used to export the report to HTML format. JReport
provides a demo JSP file ApplyUserCSS.jsp in the file ApplyUserCSS.zip which is stored in
<install_root>\help\server\en\samples for your reference.

4. Export the report to HTML format using JReport Server.


Specifying paths for the result files when using On-Demand API
When you run a report set in the Advanced mode using the on-demand report execution API, you can specify the path for
the report set result files. See the following demo code:
Demo code of running the report set to the PDF format directly
//Set report properties
Properties props = new Properties();
//Set result type as .pdf format.
props.put(APIConst.TAG_RESULT_TYPE, String.valueOf(APIConst.PDF));
//Set result file location. The value of TAG_LOCATION_TO_SERVER_RESOURCE_PATH is 0,
//and the value of TAG_LOCATION_TO_SERVER_DISK_REAL_PATH is 1.
//The default value of TAG_RESULT_LOCATION_TYPE is 1.
//props.put(APIConst.TAG_RESULT_LOCATION_TYPE, String.valueOf(APIConst.
TAG_LOCATION_TO_SERVER_RESOURCE_PATH));
//props.put(APIConst.TAG_RESULT_LOCATION, "/SampleReports");
props.put(APIConst.TAG_RESULT_LOCATION_TYPE, String.valueOf(APIConst.
TAG_LOCATION_TO_SERVER_DISK_REAL_PATH));
props.put(APIConst.TAG_RESULT_LOCATION, "C:\\");
System.out.println("========to pdf=" + props);
tempResult = rptServer.runReport(user, catalog, rptName, props);

Demo code of exporting the RST file to HTML format


//Set task properties
Properties props = new Properties();
props.put(APIConst.TAG_RESULT_TYPE, String.valueOf(APIConst.RST));
//Set result file location.
props.put(APIConst.TAG_RESULT_LOCATION_TYPE, "0");
props.put(APIConst.TAG_RESULT_LOCATION, "/SampleReports");
System.out.println("========to pdf=" + props);
String tempResult = server.runReport("admin", catalog, rptName, props);
System.out.println("========tempResult="+tempResult);
//Export to HTML
props.put(APIConst.TAG_HTML, "Crosstab");
props.put(APIConst.TAG_HTML_DIR, "/SampleReports");
props.put(APIConst.TAG_HTML_DIR_TYPE, String.valueOf(APIConst.TAG_LOCATION_TO_SERVER_RESOURCE_PATH));
System.out.println("\n========exportResult="+props);
ExportedFileList fileList = server.exportResult("admin", tempResult, props);
System.out.println("\n========fileList.getHTMLFilenameList()="+fileList.getHTMLFilenameList());
Setting dynamic parameter values when running/scheduling report set via
API
When running or scheduling a report set with parameters via API, you can specify dynamic parameter
values by implementing the ParameterGenerator interface. See JReport Server Javadoc in
<install_root>\help\server\en\api for detailed usage of the API.

To set dynamic parameter values to a report set:


1. Create a class MyParameterGeneratorImpl to implement the ParameterGenerator interface. See
the API demo DemoParameterGenerator.java in <install_root>\help\server\en\samples for
an example of implementing the ParameterGenerator interface.

2. Add the class path into the class path of your implementation of running or scheduling the report
set such as DemoParameterRunReport.

3. In DemoParameterRunReport, replace the way of setting static parameter values and instead set
dynamic values of the required parameters in the report set. Take the parameter PToday for
example:
First disable or delete the line:
props.put(APIConst.TAG_PARAM_PREFIX + "PToday", "2007-5-21");

and then add a line as follows:


props.put(APIConst.TAG_PARAM_PREFIX + "PToday", APIConst.TAG_PARAM_GEN_PREFIX +
"MyParameterGeneratorImpl";
Setting values of multi-value parameters via API
To run a report set with multi-value parameters via API, take the following example to set values to a
multi-value parameter Customers_Country:
String a[] = {"USA", "Canada"};
props.put(APIConst.TAG_PARAM_PREFIX + "Customers_Country", a);

For the API code of running a report set, see APIDemoRunReport.java in <install_root>\help\server
\en\samples.
API demos
Here is a list of some demo programs included within JReport Server. All these programs are available
in <install_root>\help\server\en\samples.

● 1stepdl_demo.zip
An example of using JSP to build URL to run a report set in DHTML format. After extracting the zip to
a folder where JSP can be run, for example, <install_root>\public_html, a folder named demo is
added, and you can run the demo using the URL http://localhost:8888/demo/main.jsp.

● APIDemoDeployRpt.java
An example of publishing catalogs, report sets, or folders to the server.

● APIDemoDynamicExportTask.java
An example of scheduling a customized task. For details, see Scheduling a customized task using
User Task.

● APIDemoPublishRpt.java
An example of publishing a scheduled task.

● APIDemoRemoteFileService.java
An example of using remote report server.

● APIDemoReportEngine.java
An example of using the ReportEngine to run a report set, export/print a report set, and set the
where portion.

● APIDemoRunAndExportReport.java
An example of exporting a report set to some formats, and then saving them to local disk.

● APIDemoRunReport.java
An example of running a report set.

● APIDemoRunReportWithTimeout.java
An example of running report sets with timeout.

● APIDemoSendEMail.java
An example of publishing a report set to e-mail.

● ApplyUserCSS.zip
An example of applying user defined CSS to the HTML report result. For details, see Applying a user
defined CSS to HTML result file.

● CustomHttpExternalAuthorized.java
Demo for implementation of the jet.server.api.http.HttpExternalAuthorized. For details, see Single
sign-on.

● CustomizedSendFileAuthorizor.java
Demonstrates implementation of SendFileAuthorizor, which is used to control users' accessibility to
certain files in server machine when they access the server via http.

● CustomServlet.java
Demo to set implementation of jet.server.api.http.HttpExternalAuthorized into the report server. For
details, see Single sign-on.

● customViewReport.jsp.zip
Demos to set implementation of jet.server.api.http.HttpExternalAuthorized into the report server and
view a report. For details, see Single sign-on.

● Demo1UserAuthenticator.java
Demo to implement the jet.server.userman.UserAuthenticator for using JReport Server as a servlet in
your system. For details, see the Notes section in Customized implementation of the Security API.

● demo2data.txt
Referenced by Demo2UserAuthenticator.java.

● Demo2Realm.java
Referenced by Demo2UserAuthenticator.java.

● Demo2User.java
Referenced by Demo2UserAuthenticator.java.

● Demo2UserAuthenticator.java
Demo to implement the jet.server.userman.UserAuthenticator for using your user data. For details,
see the Notes section in Customized implementation of the Security API.

● DemoAuthenticationProvider.java
Demo for implementation of the jet.server.api.custom.security.AuthenticationProvider interface. For
details, see Customized implementation of the Security API.

● DemoAuthorizationProvider.java
Demo for implementation of the jet.server.api.custom.security.AuthorizationProvider interface. For
details, see Customized implementation of the Security API.

● DemoLoadBalancer.java
Demo to implement the jet.server.api.cluster.LoadBalancer for randomly selecting a clustered server.
For details, see Balancing the server load.

● DemoParameterGenerator.java
An example of implementing the jet.server.api.custom.schedule.ParameterGenerator for setting
dynamic parameter values. For details, see Setting dynamic parameter values when running/
scheduling report set via API.

● DemoRemoteDispatcher.java
An example of dispatching request to remote clustered server according to Round-Robin algorithm.
For details, see Dispatching RMI Server Pages requests in multiple server environment.

● DemoTrigger.java
This demo creates a trigger, submit a schedule bound with the trigger, then fire the trigger to run the
schedule.

● ExampleCodeForTags.html
The sample code for different tags. For details about tags, see Appendix 8: DHTML tag library.

● getRptDescPage2.jsp.zip
A page enabling you to export the report set result to various formats (except for applet).

● MultipleReports.zip
Demo JSPs for opening multiple report sets in one session. For details, see Opening multiple report
sets in one session.

● printDemo.jsp.zip
These JSP files show how to print reports by using ViewerApplet. For details, see Using JSPs to print
report sets.

● PublishToRealDiskPath.java
This sample demonstrates exporting report result to physical disk path when publishing a scheduled
task.

● runReport2.jsp.zip
Called by the getRptDescPage2.jsp to run a report set. To run JSP pages, you can put them in the
directory <intall_root>\public_html\jinfonet, and then access them from a web browser using
the URL http://host:8888/jinfonet/XXX.jsp.

● TestMutiUserDesign.java
Demo for how to create reports by multi-user via MultiuserDesigner.

● TestTaskListener.java
An example to demonstrate how to implement users' own scripts before and after task running and
how to get the information about a task. For details, see Adding TaskListener.

● ViewHtmlPipelineServlet.java
This is a servlet demo of viewing report as HTML pipeline format. See details, see Invoking using
Servlet.
RMI demos
Here are some demo RMI programs that JReport provides. They are available in <install_root>\help
\server\en\samples.

● RemoteAPIDemoPublishRpt.java
A demo about publishing report sets. You can submit a schedule to export a report set to version,
disk, or e-mail.

● RemoteAPIDemoRunAndExportReport.java
A demo about running report sets and exporting report set results to other formats.

● RemoteAPIDemoRunReportWithTimeout.java
A demo about the Large Report Manager. This demo runs a report set and marks it as a large report
set by setting the timeout value, and then returns the large report set information.

Before running these demos, remember to do the following:


1. Modify the server.properties file in the <install_root>\bin directory to set the property server.
rmiserver.enable to true.

2. Add -Djrs.rmi.auth_file="%authFileName%" to the command line that starts the required


program.

3. You need to set the classpath environment variables. Append the following jar files to the
classpath that compile and run applications which call the Server API:
<install_root>\lib\JRESServlets.jar;
<install_root>\lib\JREngine.jar;
<install_root>\lib\servlet.jar;
<install_root>\lib\log4j-1.2.8.jar;
<install_root>\lib\sac.jar;
<install_root>\commons-codec-1.2.jar
Additional references
● See JReport Server Javadoc jet.server.api package, jet.server.api.http package and jet.cs.util
package in <install_root>\help\server\en\api.

● Accessing JReport Server.

● See JReport Server Designer API in <install_root>\help\designer\api.

JReport Server Designer API is a program interface for creating new report sets or modifying existing
report sets. JReport Server contains a full JReport Server Designer API package. It allows concurrent
users to create or modify multiple report sets at a time.
DHTML API
The DHTML API is a set of Java programming interfaces which allow you to customize the DHTML
feature of JReport Server, so that you can conveniently use the JReport Viewer features (completely or
partially) in your product.
You can refer to the built-in JSP dhtml.jsp that comes with JReport Server as a demo. It is located in
<intall_root>\public_html\dhtmljsp.

For DHTML API specifications, see the jet.web.dhtml package in JReport Server Javadoc that is located
in <install_root>\help\server\en\api.

This section talks about the following three topics:


● Installing the DHTML API

● Getting started with the DHTML API

● Advanced DHTML API application


Installing the DHTML API
When you install JReport Server, JReport Server API including the DHTML API is also installed at the
same time. After installation, you have the following files:
● In <install_root>\lib:

❍ JRESServlets.jar

❍ JREngine.jar

❍ servlet.jar

❍ hsqldb.jar

❍ log4j-1.2.8.jar

❍ sac.jar

❍ commons-codec-1.2.jar

● In <install_root>\derby\lib:

❍ derby.jar

❍ derbyclient.jar

❍ derbynet.jar

❍ derbytools.jar

JReport Server API classes are stored in the archive file JRESServlets.jar.
You will need to set the classpath environment variable. Append the following jar files to your classpath
that compile and run applications which call the Server API:
For Server:
<install_root>\lib\JRESServlets.jar; <install_root>\lib\JREngine.jar; <install_root>\lib
\servlet.jar; <install_root>\lib\hsqldb.jar; <install_root>\lib\log4j-1.2.8.jar;
<install_root>\lib\sac.jar; <install_root>\lib\commons-codec-1.2.jar; <install_root>
\derby\lib\derby.jar; <install_root>\derby\lib\derbyclient.jar; <install_root>\derby\lib
\derbynet.ja; <install_root>\derby\lib\derbytools.jar;

For DHTML, also include:


<install_root>\lib\JRWebDesign.jar;
Getting started with the DHTML API
How to get an instance of DHTML API
Note that before you can use the following methods to get a DHTML API instance, firstly you need to
import some relevant packages. For instance, jet.web.dhtml.* must be included here.
● For local use
Both of the following methods can be used to get an instance of the DHTML API locally. The results of
these two methods are exactly the same.
❍ Method 1:
DHTMLClientService service = DHTMLServiceFactory.getDHTMLClientService(request);

❍ Method 2:
HttpRptServer server;
if (System.getProperty(APIConst.REMOTE_DISPATCHER) == null) {
server = HttpUtil.getHttpRptServer();
} else {
server = RemoteDispatcherFactory.getInstance().getDispatchedServer(request);
}
DHTMLClientService service = (DHTMLClientService)server.getDHTMLClientService();

● For RMI use


This method can be used to get an instance of DHTML API from a remote server (RMI).
HttpRptServer server;
if (System.getProperty(APIConst.REMOTE_DISPATCHER) == null) {
server = HttpUtil.getHttpRptServer();
} else {
server = RemoteDispatcherFactory.getInstance().getDispatchedServer(request);
}
DHTMLClientService service = server.getDHTMLClientService();
Advanced DHTML API application
Besides fundamental functions that DHTML API provides, you can further obtain other instances from DHTMLClientService.

How to get the other instances


//Get a DHTML API instance using the method 1 or
//2 provided in the preceding section, and then
//use the following method to get the other instances.

//The instance "service" is supposed to be derived


//from the above method 1 or 2.

DHTMLConfig config = service.getDHTMLConfig();


DHTMLDataInfo dataInfo = service.getDHTMLDataInfo();
DHTMLWriter writer = service.getDHTMLWriter(sessionId, rptSetId)

How to use the other instances


Customizing DHTML toolbar using the DHTML API
DHTML API provides you with the API interface. With the DHTML API, you can easily embed the DHTML page or components
into your own JSP. Here jet.web.dhtml.DHTMLConfig is used to customize your own DHTML toolbar.
● Method: jet.web.dhtml.DHTMLConfig.customizeToolbar (java.lang.String sessionId, java.lang.String rptSetId, java.lang.
String toolbarname, int[] buttonId, boolean isVisible)
This method is used to specify the buttons displayed on the DHTML toolbar.
Parameters:
❍ sessionId
The session id of the current user or current request.

❍ rptSetId
The report set id of the current user or current request.

❍ toolbarname
Name of the toolbar, such as "Standard", "View", "Analysis", and user-defined ones.

❍ buttonId
The buttonId constant for the toolbar. The buttonId argument is an integer bitmask that can be
DHTMLConstant.TOOLBAR_UNDO, DHTMLConstant.TOOLBAR_REDO, DHTMLConstant.TOOLBAR_SEARCH,
DHTMLConstant.TOOLBAR_PREVIOUS_SEARCH, DHTMLConstant.TOOLBAR_NEXT_SEARCH, DHTMLConstant.
TOOLBAR_EXPORTTOHTML, DHTMLConstant.TOOLBAR_EXPORTTOPDF, DHTMLConstant.TOOLBAR_EXPORTTOXML,
DHTMLConstant.TOOLBAR_EXPORTTORTF, DHTMLConstant.TOOLBAR_EXPORTTOXLS, DHTMLConstant.
TOOLBAR_EXPORTTOTEXT, DHTMLConstant.TOOLBAR_EXPORTTOPS etc., or a bitwise union of them (for example,
DHTMLConstant.TOOLBAR_UNDO | DHTMLConstant.TOOLBAR_REDO).

❍ isVisible
If it is true, the buttons are visible.

● Method: jet.web.dhtml.DHTMLConfig.setUsedToolbar (java.lang.String sessionId, java.lang.String rptSetId, java.lang.


String rptName, java.lang.String toolbarName, boolean isShow)
This method is used to set the toolbar's default status: shown or hidden.
Parameters:
❍ sessionId
The session id of the current user or current request.

❍ rptSetId
The report set id of the current user or current request.
❍ rptName
The report name of the current user or current request.

❍ toolbarname
Name of the toolbar, such as "Standard", "View", "Analysis", and user-defined ones.

❍ isShow
If it is true, the toolbar is visible.

To customize the DHTML toolbar, you must add the following code to run_report.jsp in <intall_root>\public_html
\dhtmljsp. And this code must be after the RunReport() method.

DHTMLClientService service = DHTMLServiceFactory.getDHTMLClientService(request);


DHTMLConfig dhtmlConfig = service.getDHTMLConfig();
String SessionID = DHTMLUtil.getSessionID(request);
String RptSetId = DHTMLUtil.getRptSetId(request);
int[] bId = new int[]{DHTMLConstant.TOOLBAR_EXPORTTOPDF,DHTMLConstant.TOOLBAR_EXPORTTOXML,DHTMLConstant.
TOOLBAR_SEARCH};
dhtmlConfig.customizeToolbar(SessionID, RptSetId, "View", bId, true);
dhtmlConfig.setUsedToolbar(SessionID, RptSetId, null, "View", true);

Reference: For more information on this topic, see the Javadoc located in <install_root>\help\server\en\api.
Dialog Reference
This chapter covers the dialogs that you will come across when using JReport Server, providing
descriptions and explanations of the options available. By referencing this chapter, you will find JReport
Server much easier and more convenient to use.
In this chapter, the following types of dialogs are covered:
● JReport Server dialogs

● JReport Viewer dialogs

● JReport Studio dialogs


JReport Server dialogs
There are two classes of dialog in JReport Server. They are distinguished by the types of users who can
gain access to them. The JReport Console page dialogs are available to general users, while the JReport
Administration page dialogs are only accessible to users who have been assigned the administrator's
role.
The following are dialogs of the JReport Server, which are listed in alphabetic order:
● Add Language dialog

● Add to Global NLS dialog

● Advanced Run dialog

● Auditing dialog

● Cache Configuration dialog

● Catalog Properties dialog

● Cluster dialog

● Configuration dialog

● Customize Waiting Page dialog

● Data dialog

● DHTML Profile dialog

● Edit Expression dialog

● Encrypt dialog

● Enter Values dialog

● Expression dialog

● Folder Properties dialog

● Global NLS dialog

● New Cache dialog for scheduling

● New Cache dialog for selecting queries

● New Custom Field dialog

● New Group dialog

● New Realm dialog


● New Role dialog

● New Schedule dialog

● New User dialog

● NLS Editor dialog

● Profile dialog

● Publish to Local Server dialog

● Publish to Remote Server dialog

● Report Set Properties dialog

● Result Properties dialog

● Schedule dialog

● Security dialog

● Select Another Catalog dialog

● Select Folder dialog

● Select Language Source dialog

● Select Queries dialog

● Select Report Type dialog

● Set Alias dialog

● Set Permissions dialog

● Sign dialog

● Specify Catalog dialog

● Triggers dialog
Add Language dialog

This dialog is displayed when you click the Add button in the NLS Editor dialog, or click OK in the
Select Language Source dialog with Languages Supported by JReport selected. It helps you to add one
or more languages, in which reports can be run.

Available Languages
Lists all the languages that are available for you to choose. Select the required languages from the box.
OK
Adds the selected languages and closes the dialog.
Cancel
Cancels the action and exits the dialog.
Help
Displays this help document.
Add to Global NLS dialog
This dialog is displayed when you click the Add to Global NLS button in the NLS Editor dialog to add the selected display or
font items to the target language's global NLS resource library, but some of the selected items already exist there. It varies
according to the type of the selected items.
OK
Adds the selected items to the target language's global NLS resource library and exits the dialog.
Cancel
Cancels the action and exits the dialog.
Help
Displays this help document.

When display items are to be added, options in the dialog are as follows.

Language
Displays the target language into which the display text will be translated.
Checkbox
Specifies the items you want to add to the target language's global NLS resource library. Check the checkbox on the column
header to select all the items.
Type
Lists types of display text for different objects.
● Label
Type of display text of label and some web controls.

● Column
This type is only for DHTML. It is the type of display text of columns.

● Prompt
Type of display text of parameter prompt value.

● TOC
Type of display text on the TOC tree.

Key
Lists keys to indicate the objects in the original language.
Translate
Specifies to which the display text will be translated in the target language.
Global NLS Translation
Displays to which the display text is translated in the target language's global NLS resource library. There are two
circumstances:
● If the translation is Null for any display text, it means the display text doesn't exist in the target language's global NLS
resource library yet. Check the checkbox ahead of the display item if you want to add it.

● If any display text already exists in the target language's global NLS resource library, and you have provided a new
translation for the text in the Translate column, when you choose to add this display item, the existing global NLS
translation for this display text will be replaced by the new one.

When font items are to be added, options in the dialog are as follows.
Language
Displays the target language to which the font properties will be applied.
Checkbox
Specifies the items you want to add to the target language's global NLS resource library. Check the checkbox on the column
header to select all the items.
Key
Lists keys to indicate the fonts in the original language.
Font Face
Specifies the font face for the key in the target language.
Font Size
Specifies the font size for the key in the target language.
Global NLS Translation
Displays the font properties for the keys in the target language's global NLS resource library. There are two circumstances:
● If the translation is Null for any font item, it means the font item doesn't exist in the target language's global NLS
resource library yet. Check the checkbox ahead of the item if you want to add it.

● If any font already exists in the target language's global NLS resource library, and you have specified a new face and size
for it in the Font Face and Font Size columns, when you choose to add this font item, the existing global NLS translation
for this font will be replaced by the new one.
Advanced Run dialog
To access the Advanced Run dialog, on the JReport Console > Reports page, browse to the report set
you want to run in Advanced mode, then do either of the following:
● Select the row the report set is in, then on the task bar of the Reports page, click Run > Advanced
Run.

● Select the report set row, right-click in the row and select Advanced Run from the shortcut menu.

● Put the mouse pointer over the report set row and click the Advanced Run button on the
floating toolbar.

There are four tabs in this dialog, which are listed below. You can set the settings to your requirements
in each tab.
● General tab

● Format tab

● Archive tab

● Duration tab

Back
Goes back to the left tab.
Next
Goes to the right tab.
Finish
Applies the settings.
Cancel
Closes the dialog and discards any changes.
Help
Displays this help document.
General tab
This tab allows you to specify the general information about a report.

Enter Parameters section


Specifies the report in the report set you want to run in Advanced mode and the parameter values for the report if
any.
Select Report
Specifies the report from the report set which you want to run. Bursting reports are not listed in the table.
Parameters
Specifies values of the parameters applied in the selected report. If the report has no parameter, "No Parameter
Needed" will be displayed here.
You may specify parameter values in these ways:
● In the parameter value combo box, input the value manually or select the required one from the drop-down list.

● Click the button , which is available when the parameter's Allow Multiple Values property is set to true in
JReport Designer, to specify multiple values in the Enter Values dialog.

● If the parameter is of DateTime type, click the calendar button to set a DateTime value with calendar.

● If the parameter is of Date, DateTime, or Time type, check the checkbox ahead of the button and then click
the button to specify a dynamic date or time parameter value with expression in the Expression dialog.

● Check the Use Saved Values checkbox and select a previously saved parameter value list to apply to the report.
The Use Saved Values option is available when Enable Saving Parameter Values is checked in the Profile >
Customize Server Preferences > Advanced tab. When it is checked, a drop-down list that contains the lists of
previously saved parameter values will be displayed for you to choose one to apply. The button next to the
drop-down list is used to delete a saved list from the list library.

Save Values
This link is available when Use Saved Values is checked. When it is clicked, the currently displayed parameter values
set for the specified report will be saved as a whole marked as a list for reuse next time, and you need to provide a
name for the list in the prompted dialog as required.
The parameter value lists saved for the selected reports are limited. The maximum number is controlled by the
option Maximum Number of Auto Complete Parameters List in the Profile > Customize Server Preferences >
Advanced tab. By default it is 3. When the number of the saved parameter value lists reaches the maximum number,
if you want to save another parameter list, it will overwrite the oldest list.

Report Set Info section


Specifies other report set information.
Report Set
Lists the report set information.
Catalog
Lists the catalog information.
Select Another Catalog
Specifies another catalog for the report set in the Select Another Catalog dialog.

Report Set Version


Specifies the report set version.
Catalog Version
Specifies the catalog version.
Priority
Specifies a priority level to the report running task. The priority levels are from 1 to 10 in ascending order of lowest
priority to highest priority. This property is available to administrators. By default this property is ignored unless
server.properties is modified to set queue.policy not equal to 0.
Format tab
This tab allows you to specify the format in which you would like to generate the report and set its corresponding
settings.

Select Format section


Specifies the format of the report result.
Select Format
Specifies the format in which the report result will be. It can be one of the following:
● Studio
● DHTML

● HTML

● PDF

● Excel

● Text

● RTF

● XML

● PostScript

● Applet

Advanced section
Specifies some advanced format settings.
Enable Style Group
When this option is disabled as default, use the style group property of the report for this format that is predefined in
JReport Designer to run the report.
When this option is enabled, you are allowed to select a style group from the Style Group drop-down list to run the
report in the format. This setting will cancel the predefined style group property of the report for this format and replace
it with the value specified here to run the report.
Enable Converting Encoding
Specifies whether to enable the conversion of encoding. If checked, the Before Converting and After Converting options
will be activated. Select the encoding from the drop-down lists as required.
Enable NLS
Specifies whether to enable NLS for the report set. If checked, the Using Language drop-down list will be displayed for
you to choose a language.
Notes:
● The Enable NLS option is available only when the National Language Support option is checked in the Properties
dialog of the report set on the JReport Administration page.

● If there is no NLS resource defined for the report set, you can only run the report set using the default language.

Encoding
Specifies the encoding for the report set.
Connect to [Data Source Name]
Specifies the DB user and password with which you want to connect to the data source the report set uses.
● Use the DB user and password defined in catalog
If checked, the DB user and password defined in the catalog will be used.

● Use the DB User


If checked, specify another DB user and password instead of the one defined in the catalog.

Add TaskListener to be Invoked


Specifies whether to enable the user to call the Java application before/after viewing. Enabled only when the format is
not specified to DHTML.

Studio
Runs a studio report in JReport Studio.
Resolution
Specifies the resolution of the result to zoom in/out, in DPI. The default value is obtained from the operation system,
which is the resolution of your monitor, for example, 72 DPI on Unix or 96 on Windows. You can set higher/lower value
to zoom in/out.

DHTML
This format allows you to export your report set to a DHTML result that can be viewed in a JReport DHTML window.
Some reports cannot be published to version in a DHTML result format, such as self-contained (CLX) reports, multi-level
nested master and subreports, reports containing data objects, and reports developed from a dynamic query or
hierarchical data source (HDS).
Resolution
Specifies the resolution of the DHTML result to zoom in/out, in DPI. The default value is obtained from the operation
system, which is the resolution of your monitor, for example, 72 DPI on Unix or 96 on Windows. You can set higher/
lower value to zoom in/out.
Profile
Specifies the DHTML profile to be applied to run the report set, which contains a set of JReport Viewer settings.

Background Mode Timeout


Specifies the time after when the report set will run in background mode. When a DHTML report set runs and the results
have not yet been generated after the specified time, it will be automatically be switched to run in background mode.

HTML
No Margin
Removes the margins you originally set while designing the report.
Multiple Files
Generates the report result to multiple HTML files. JReport designates a serial number for each HTML page. For
example, if you named a 3-page report as "sales", JReport will create three files called sales_1.html, sales_2.html, and
sales_3.html.
● Embedded CSS
Specifies to embed the cascading style sheet (CSS) in the exported HTML files; otherwise, the .css file will be
generated individually.

Single File
Generates the report result to a single HTML file.
● No Hyperlink
If checked, there will be no hyperlinks for navigating previous and next pages on the navigation bar of the exported
HTML file.

● No Page Number
If checked, there will be no page number information showing the current page number and total page number on the
navigation bar of the exported HTML file.

Drilldown
Generates the report result into an HTML file with the Drilldown feature enabled. The Drilldown feature enables you to
inspect certain items for further detailed data.
Section 508 Compliant Output
If checked, the accessibility attributes defined for the report elements via the Report Inspector will be exported to the
HTML format report result which is Section 508 compliant. See Accessibility for more information.
When Section 508 Compliant Output is checked, the Use HTML Data Table and Relative Font Size options will be
checked and disabled. The output will be Section 508 compliant including HTML data table, accessible attributes, and
relative font feature.
Use HTML Data Table
Specifies whether the table and crosstab components will be output as table objects in the HTML format result.
Absolute Font Size
Generates the report result using an absolute font size, which means that the font size is fixed, and cannot be adjusted
according to the font size settings in the web browser.
Relative Font Size
Generates the report result using a relative font size. The font size can be adjusted according to the font size settings in
the web browser.
Use Chart
● Applet Chart
Uses a Java applet to display the charts in an HTML format result file.

● Image Chart
If selected, charts will be displayed as images. You can specify the image type from the drop-down list. The options
are:
❍ auto select
If selected, the image format will be detected to JPG or GIF by the JReport system automatically. If the image
colors are less than 256 colors, GIF will be applied; otherwise, it is JPG.

❍ GIF
If selected, the GIF format will be applied, which is a lossless compression technique and supports only 256 colors.
GIF is better than JPG for images with only a few distinct colors, such as line drawings, black and white images and
small text that is only a few pixels high.

❍ JPG (JPEG)
If selected, the JPG (JPEG) format will be applied, which is supported on the Web. JPG is a lossy compression
technique that is designed to compress color and grayscale continuous-tone images. JPG images support 16 million
colors and are best suited for photographs and complex graphics.

❍ PNG
If selected, the PNG format will be applied, which provides a portable, legally unencumbered, well-compressed
(effectively 100 percent lossless compression), well-specified standard for lossless bitmapped image file. PNG
supports indexed-color images of up to 256 colors and shows a more interchangeable, flexible and robust function
than GIF.

Resolution
Specifies the resolution of the HTML result to zoom in/out, in DPI. The default value is obtained from the operation
system, which is the resolution of your monitor, for example, 72 DPI on Unix or 96 on Windows. You can set higher/
lower value to zoom in/out.
Web Browser
Specifies the web browser for which the HTML result adapts.
Text Overflow
Specifies whether the text overflow is visible or hidden.

PDF
No Margin
Removes the margins you originally set while designing the report.
Compress Image
Compresses the images in the report by the percentage you specify in the box.
Generate charts and barcodes using images (recommended)
When you run a report in PDF format, JReport will take the result of the whole report as a graphic to transform the
report by the method of simulated printer and generate the report result in PDF format.
Generate charts and barcodes using vector graphics
The result of using Generate charts and barcodes using vector graphics is the same as with using Generate charts and
barcodes using images (recommended). However, when you run a report in PDF format using Generate charts and
barcodes using vector graphics, JReport will take the result of the whole report as a dataset to transform the report by
sequence and to generate the report result in PDF format.
TOC
Generates the report result to PDF format with a Table of Contents.
Drilldown
Generates the report result to a PDF file with the Drilldown feature enabled. The Drilldown feature enables you to
inspect certain items for further detailed data.
Encrypt
Specifies whether to encrypt the PDF file. If checked, click the Settings button to configure the encrypt settings in the
Encrypt dialog.

Sign
Specifies whether to add the digital sign to the PDF file. If checked, click the Settings button to configure the sign
settings in the Sign dialog.

Excel
Word Wrap
● All Keep Existing
Keeps all the settings of each object's Word Wrap property originally specified in the report.

● All Disabled
Disables the Word Wrap property for all objects. That is, the Word Wrap property is made false for all objects.

● All Enabled
Enables the Word Wrap property for all objects. That is, the Word Wrap property is made true for all objects.

Preserve Report Formatting


Specifies to adopt the original layout of the report set when exporting.
Normal Formatting
If checked, and the Columned property of the report is set to true in JReport Designer, the exported Excel file will be in
columned format.
Excel 2000
If checked, only the report data will be exported without format.
More/Less Options
Shows/Hides the additional settings for exporting the report to Excel. When Excel 2000 is selected, there will be no
more options.
● Include Shapes in Export
Specifies whether to include the drawing objects in the exported Excel file, such as line, oval, and box.

● Print Page Header


Specifies the page header text for the printed file.

● Print Page Footer


Specifies the page footer text for the printed file.
● Print Gridlines
Specifies whether to include gridlines when printing the exported Excel file.

Text
Delimited Format
Generates the report result to a standard text file, using a delimiter you specify to separate the fields.
● Use Quote Mark
Specifies to use quote marks in the text file.

● Repeat Last Column Value If Null


If checked, when a cell in the exported CSV text has no value, value of the previous cell in the same column will be
used.

● Customize Delimited
Fields in the exported text file will be separated by a user defined delimiter. You can type your own delimiter in the
Delimiter box.

● Tab Delimited
Specifies to use a Tab delimiter to separate the fields.

● CSV Format
Exports to CSV format text file.

Horizontal Density
Specifies the value for each unit of the horizontal density between columns. The resulting density is a direct ratio of the
value you specify. That is, the greater the value, the smaller the width between columns. By default the density will be
specified by JReport.
Vertical Density
Specifies the value for each unit of the vertical density between columns. The resulting density is a direct ratio of the
value you specify. That is, the greater the value, the smaller the height between columns. By default the density will be
specified by JReport.
Notes:
● By exporting using user defined densities, if the densities are not set appropriately, the fields in the report may
overlap each other, so you are not recommended to use this way to export the report result to Text.

● When setting the value of Horizontal/Vertical Density, you need to pay attention to the following:
❍ The value of Horizontal/Vertical Density must be greater than the character's width/height of the smallest field in
the report (smallest field is the field with the smallest font size), otherwise, the value you set will not be applied.

❍ If the value of Vertical Density is greater than 0 and the value of Horizontal Density is less than 0, the value that
you specify for the Vertical Density will be applied and the value of Horizontal Density will be specified by JReport.

❍ If the value of Vertical Density is less than 0 and the value of Horizontal Density is greater than 0, the value that
you specify for the Horizontal Density will be applied and the value of Vertical Density will be specified by JReport.

❍ If the values of Vertical Density and Horizontal Density are both greater than 0 and the value of Horizontal Density
is less than 11, the specified value of the two densities will be applied. Otherwise, they will be specified by JReport.

❍ If the values of Vertical Density and Horizontal Density are both less than 1, these densities will be specified by
JReport.

Compress
Specifies whether to generate the report result to Text format in a compressed size, that is to say, there will be no
clearance between the columns.
Header and Footer
If checked, the Text file will contain all headers and footers in the report, including Report Header/Footer, Page Header/
Footer and Group Header/Footer. Otherwise, the Text file will only contain data in Detail panel.
Windows End-of-line (CR-LF)
Specifies to use Windows end-of-line characters to indicate the start of a new line. If checked, two characters <cr> and
<lf> will be used at the end of the line.
Unix End-of-line (LF)
Specifies to use Unix End-of-line characters to indicate the start of a new line. If checked, only the Unix End-of-line
character <lf> will be used.

RTF
Best Editing
Specifies whether to apply flow layout when exporting the report to RTF.
No Margin
Removes the margins you originally set while designing the report.

XML
Only Data
● If checked, the exported XML file will only contain the database column information. The exported XML schema file
will only contain the structure information of the report.

● If unchecked, the exported XML file will also contain elements controlled by formulas, and the exported XML schema
file will contain all the detailed information from the report, including all the property values of each report object.

Schema File Name


Specifies the directory and the name of an existing XML schema (.xsd) file. If you specify an existing XML schema file,
the exported XML file, the generated XML file that is to be exported will be based on it. Otherwise, a new XML schema
file will be generated to the directory where the exported XML file is to be exported. The new XML schema file and the
exported XML file will have the same name but with different extensions.

PostScript
No Margin
Removes the margins you originally set while designing the report.

Applet
Pop-up Window
Specifies to show an Applet window when viewing a report.
Zip Result
Specifies to compress the result and its size would be smaller.
Java Plug-In 1.2 for Windows
Directs applets to run using Sun's Java Runtime Environment (JRE).
Java Plug-In 1.3 for Windows
Directs applets to run using Sun's Java Runtime Environment (JRE).
Notes:
● You'd better specify a file destination when exporting a report set via Applet, such as D:\folder\filename.pdf in
case you may not find the result. By default when exporting a report set via Applet on Internet Explorer, the exported
result will be located on the Desktop, and when on Firefox, it will be in its installation root.
If you do not have read or write permission to the default location or the location you specified, you will get an access
denied error. To handle this, add the required permission in jdk\jre\lib\security\java.policy that the applet uses:
For the default location "Desktop":
permission java.util.PropertyPermission "user.dir", "read";
permission java.io.FilePermission "${user.home}${/}Desktop${/}*", "read,write";

For user defined location:


permission java.io.FilePermission "D:${/}temp${/}*", "read,write";

● When advanced running a report set to Applet on Firefox, after you select File > Open Result File on the Report
Viewer, you may get the access to the Open dialog denied error as follows:
java.security.AccessControlException: access denied (java.io.FilePermission Open read)

To resolve this, add the required permission in java.policy that the applet uses:
permission java.io.FilePermission "Open", "read,write";
Archive tab
Options below are available only when the view format is NOT set as DHTML or Studio in the Format tab.

Auto Archive Properties


Specifies to archive the result version automatically after the report set has finished running.
Archive Location
Specifies the location in which to archive the report result version.
● Built-in Version Folder
Specifies to save the report result version to the built-in version folder.

● My Reports Folder
Specifies to save the report result version to the My Reports folder.

● Public Reports Folder


Specifies to save the report result version to the Public Reports folder.

Input archive destination and result name


Specifies the name and location with which to archive the result.
Apply Archive Policy
Applies an archive policy to the report result version.
● Archive as New Version
Specifies whether to use multiple versions for the specified resource. Available only for the resources in the resource tree.
The Maximum Number of Versions option specifies the maximum version amount that will be listed in the version table. By
default the version amount is unlimited.

● Replace Old Version


Specifies to replace the old version when a new version is generated.

Result Auto-delete
Specifies the deleted date of the report result version. You should make sure to set the result version as deleted automatically
within one hundred years. If the time you specified exceeds one hundred years, JReport Server will keep the result forever.
● Result Expires in N Days
Specifies a period after which the report result version will be automatically deleted.

● Result Expires After


Specifies a certain day on which the report result version will be automatically deleted.

Set Permissions
Available only when the Archive Location is specified to be Public Reports Folder. Click the link to set user permissions to the
specified report in the Set Permissions dialog.
Duration tab
This tab is available only when you have enabled the task-level timeout mechanism either by setting the task.duration.enable
property to true in the server.properties file or by checking the Enable Task Duration option on the JReport Administration page
> Configuration > Advanced panel.
In this tab, you can specify a time duration for a task, and ask JReport Server to cancel the task or to notify you or someone
else of the task status via e-mail if the task has not yet finished running when the task duration is up.

The following are the available options:


Timeout
Specifies the time duration for the task.
Notify by e-mail after the specified time
Sends an e-mail about the task information when the specified time is up.
● Mail To
Specifies the e-mail address of the recipient.

Cancel the task after the specified time


Cancels the running task when the specified time is up.
Auditing dialog
This dialog is displayed when you click the Auditing link of a user in the User panel of the Security
dialog on the JReport Administration page.

Disable Auditing on All Events


Specifies whether to audit on all events.
Auditing the Accessed Events
Specifies to audit accessed events and record them in the log file in <install_root>\logs.

● Success
Specifies to audit and record the accessed events when they have been successfully performed.

● Failure
Specifies to audit and record the accessed events when they fail.

Auditing the Management Events


Specifies to audit the management events and record them in the log file in <install_root>\logs.

● Success
Specifies to audit and record management events when they have been successfully performed.

● Failure
Specifies to audit and record management events when they fail.

OK
Audits and records the events with the information you have specified.
Cancel
Cancels operations and closes the dialog.
Cache Configuration dialog
This dialog is displayed after you click Cached Data on the system toolbar of the JReport Administration page, select Cached
Report Data from the drop-down menu, and then click the Cache Configuration link. It allows you to configure memory usage for
cached report data (CRD) and configure auto cached report data.

Memory Usage Configuration


Configures the memory usage.
● Maximum Memory Usage
Specifies the maximum memory usage when running a report using the CRD. The minimum value is 4 MB and can be increased
up to 80% of the total Java maximum heap size (-Xmx value in JRServer.bat). All CRDs being used to run reports will share the
same memory space.

Automatic Cache
Specifies whether to enable auto CRD. When it is selected, the following options are available:
● Maximum Disk Usage
Specifies the maximum hard disk space for auto CRD. The value should be between 4 MB and 1024*1024 MB.

● Expires
Specifies how long an automatic cached sharable data result is kept.
❍ Never
The auto CRD will not expire.

❍ Custom
Specifies the period an auto CRD exists.

OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Catalog Properties dialog
You can set the properties of a specified catalog in its Properties dialog according to your requirements.
The Properties dialog is divided into the following two tabs:
● General

● Permission

Reset
Discards your modifications and restores the dialog to its default status.
OK
Retains the settings and submits the task to the server.
Cancel
Cancels any settings and closes the dialog.
Help
Displays this help document.

General tab
Specifies the general properties of the catalog.

Resource Path
Shows the resource path.
Resource Node Name
Specifies the name for the catalog.
Resource Type
Shows the type of the resource.
Resource Description
Specifies the description of the catalog.
[Custom Field Name]
Specifies value of the custom field for the catalog. A custom field can be regarded as a resource property and is available
when it is enabled.
Apply Archive Policy
Applies an archive policy to the catalog versions.
● Archive as New Version
Specifies whether to use multiple versions for the catalog. Available only for versions in the resource tree.
❍ Maximum Number of Versions
Specifies the maximum number of versions that will be listed in the version table. By default the number of versions
is unlimited (0).

● Replace Old Version


Specifies to replace the old version when a new version is generated.

Permission tab
Specifies permissions of roles/users/groups to the catalog. This tab is available when the catalog is in the Public Reports
folder.

Enable Setting Permissions


Enables the setting of permissions.
Available
Lists the roles/users/groups to which you can assign permissions.
● Role
If checked, all roles will be displayed in the Available box for you to assign permissions.

● User
If checked, all users will be displayed in the Available box for you to assign permissions.

● Group
If checked, all groups will be displayed in the Available box for you to assign permissions.

Adds the selected roles, users or groups to the Selected box.

Removes the selected roles, users or groups from the Selected box.
Selected
Displays the roles, users and groups to which the permissions will be assigned.
● Visible
Specifies whether to give the selected role/user/group the Visible permission.

● Read
Specifies whether to give the selected role/user/group the Read permission.

● Write
Specifies whether to give the selected role/user/group the Write permission.

● Delete
Specifies whether to give the selected role/user/group the Delete permission.

● Execute
Specifies whether to give the selected role/user/group the Execute permission.

● Schedule
Specifies whether to give the selected role/user/group the Schedule permission.

● Grant
Specifies whether to give the selected role/user/group the Grant permission. Users, groups or roles that have obtained
the Grant permission are also endowed with the other seven permissions - Visible, Read, Write, Delete, Execute,
Schedule, and Update Status, and can grant these seven permissions except the Grant permission itself.
Cluster dialog
This dialog is displayed when you click Cluster on the system toolbar of the JReport Administration
page. It helps you to configure the settings for a cluster if your cluster is enabled and set up. It is
available only when your JReport Server license permits the cluster feature.
There are two panels in this dialog:
● Configuration panel

● Weight panel

Configuration panel
Use this panel to configure the servers in a cluster.
Cluster Name
Specifies a name for the cluster. When cluster is enabled, you must specify a unique cluster name for
all servers that will join the cluster to build the cluster.
Cluster Scheduler Lease
Specifies whether to enable lease for a scheduler in the cluster. If this option is left unchecked, then
every scheduler in the cluster becomes an active scheduler.
Lease is a semaphore that enables a scheduler to be an active scheduler. If a scheduler is enabled with
lease, it becomes an active scheduler and will compete to trigger the schedule. Each active scheduler
can hold a lease for a period of time (which depends on the value you set in the Cluster Scheduler
Lease Valid Time text field), and then transfers it to another scheduler in the cluster.
● Cluster Scheduler Lease Active Count
Specifies the active lease number in a cluster. By setting the active lease number, you get to know
how many active schedulers there are to compete to trigger the schedule. The property value should
be an integer and the default value is 2.

● Cluster Scheduler Lease Valid Time


Specifies the period of time that the clustered server can hold a lease before releasing it. The
property value should be an integer in seconds and the default value is 300.

● Cluster Scheduler Lease Check Interval


Specifies the time interval the cluster will use to check the number of active leases. The property
value should be an integer in seconds and the default value is 30.

Cluster Storage History Number of Copies


Specifies how many copies will be made in a cluster when a new file or folder is added to the history
folder. The property value should be an integer and the default value is 2.
Cluster Storage Realm Number of Copies
Specifies how many copies will be made in a cluster when a new file or folder is added to the realm
folder. The property value should be an integer and the default value is 2.
Cluster Storage CRD Result Number of Copies
Specifies how many copies will be made in a cluster when a new file or folder is added to the cached
report data (CRD) result folder. The property value should be an integer and the default value is 2.
Properties Directory
Specifies a properties directory for storing system data. The properties directory of each clustered
server should better point to a different physical location.
Realm Directory
Specifies a realm directory for storing system data. The realm directory of each clustered server should
better point to a different physical location.
Resource Root
Specifies a report root directory for storing system data. The resource root of each clustered server
should better point to a different physical location.
History Directory
Specifies a directory for storing report/catalog/result files. The history directory of each clustered
server should better point to a different physical location.
Temporary Files Directory
Specifies a directory for storing temporary result files. Along with the running of JReport Server,
temporary result files (generated by background run) will be written to the temp directory. Each
clustered server should use an individual temp folder to store its temporary files generated during its
working process.
Server's RMI Host
Specifies the RMI IP address or host name of the clustered server.
Server's RMI Port
Specifies the RMI port number of the clustered server.
Enable Cluster
Enables cluster on the server.
Save
Applies any changes to the server.

Weight panel
Use this tab to configure the performance weight on the clustered server.
Catalog
Specifies the catalog that will be used for performance weight testing.
Report
Specifies the report that will be used for performance weight testing.
Clustered Server Name
Displays the name of the clustered server.
Performance Weight
If you have chosen the Least Weighted Current Report Sets (Weighted Min-load) (loadbalance.type=2)
algorithm for load balancing, you will have to configure a performance weight for each clustered server.
See Configuring performance weight for how to set performance weight and how this algorithm works.

Performance weight is a positive float number. The higher performance weight you set to a clustered
server, the higher chance it may get selected by the server which has the active scheduler during load
balancing.
Test
Calculates each clustered server's performance weight value at current time.
OK
Applies the settings.
Cancel
Cancels the settings.
Help
Displays this help document.

Related topics:
● Setting up and starting a JReport Server cluster

● Managing JReport Server clusters


Configuration dialog
After you click Configuration on the system toolbar of the JReport Administration page, the entries to
the following panels are available on the drop-down menu. The panels help you to configure JReport
Server to suit your own requirements.
● Service panel

● Log panel

● Cache panel

● Performance panel

● Advanced panel

● LDAP panel

● Export panel

● Connection panel

● Upload panel

● Custom Field panel


Service panel
This panel allows you to configure the service settings of JReport Server.
The following are the options available in the Service panel:
Port
Specifies a port as the TCP port on which JReport Server listens.
When you start JReport Server, you will need to specify a port as the TCP port on which the server listens. The
port can be an integer between 1 and 65535. However, numbers less than 1024 are usually reserved by
system, and so numbers larger than 1024 are preferred. JReport Server uses 8888 as the default port.
Administration Port
Specifies the port used for remote administration. If JReport Server is running as a standalone web server, the
administrator can specify the port for client users to configure and administer the server remotely. This port is
where the servlet for remote administration (jet.server.servlets.RcServlet) listens. The default administration
port is 8889.
Maximum Number of Handlers
Specifies the maximum number of connection handlers.
A connection is set up between the server-side and a client-side when a request from the client-side reaches
the server. The maximum number of requests that can be handled depends on the maximum number of
handlers. When there is a limit on the maximum number of connection handlers, if there are no free connection
handlers available, a request from the client-side will be blocked. In which case, the request will either be
handled after a connection handler has been set free, or be refused when timeout occurs. A connection handler
is set free after the server sends a response to a client request.
Maximum Number of Connections
Specifies the maximum number of HTTP connections between the server-side and client-side.
The maximum number of connections depends on the number of requests that can be handled. It should be
larger than the maximum number of handlers. For example, if the maximum number of handlers is 10, and the
maximum number of connections is 12, when the eleventh and twelfth requests come, they will be blocked until
a handler has been set free. When the thirteenth request comes, it will be refused.
Connection Timeout in _ Milliseconds
Specifies the maximum time in milliseconds for a request from a client-side to be blocked before being refused
by the server. A request will be blocked if there are no free connection handlers in the server. However, it
cannot be blocked forever, and if there are still no free connection handlers after the time specified here (in
milliseconds), then the request will be refused back to the client.
Enable Secure Socket Layer Connection
If enabled, you can use HTTPS schema to visit JReport Server UI in the standalone mode.
● Secure Port
The port used for visiting JReport Console page via HTTPS schema. It should be different from the Port for
HTTP schema.

● Secure Administration Port


The port used for visiting JReport Administration page via HTTPS schema. It should be different from the
Administration Port for HTTP schema.

● Keystore File Path


The location of your trusted keystore file.

● Keystore Password
The password used to protect the integrity of the keystore.

● Keystore Type
The type of keystore to be instantiated. The valid values are JKS and PKCS12.

● Keystore Protocol
The encryption/decryption protocol to be used on the socket. The valid values are SSL and TLS.

● Keystore Algorithm
The X509 algorithm to use. This defaults to the Sun implementation (SunX509). For IBM JVMs you should use
IbmX509.

Servlet Properties File Name


Displays the full path of the property file of the servlet jet.server.servlet.JRServlet.
Assuming that JReport Server has been installed to C:\JReport\Server, the servlet property file is C:\JReport
\Server\bin\servlet.properties.

Active Realm
Specifies the realm that will take effect when the server starts up.
A realm is the context of JReport Server where the entities reside. A user is a kind of entity that is contained in
a realm. Different users in one realm must have different names. There can be multiple realms in the server,
but only one is active at runtime. Only the users and resources in the active realm are accessible. Realm names
cannot contain the "/" or "\" character.
Provide Service On
Specifies whether JReport Server listens on all network addresses or just some.
● All Network Addresses
If checked, JReport Server listens on all network addresses, which means that all the hosts of the machine
are active, and the client-end can connect with any of the hosts of this server.

● Network Address At
If checked, JReport Server listens on the specified hosts, and you can specify them by inputting the host
names or IP addresses.

Notes:
● The machine that JReport Server runs on can be multi-homed (for example, two interface cards have been
installed on the machine), if there is more than one IP address. JReport Server opens the listening port at
host name 'localhost' or at IP address '127.0.0.1' automatically.

● When Network Address At is checked, if you want to specify all the host addresses to be active, input * into
this field; if you want to specify more than one address to be active, you should separate them using a blank,
for example, "leo 204.177.148.110".

Active Host Address


Lists the current active host' address.
Save
Applies changes to JReport Server.
Log panel
Logs can help you find out the reasons of problems, track down the workflow of a business process, and
debug trivial messages. Options for configuring JReport Server logs have been provided in this panel. You can
configure settings for each log category. After you select a log type, all the other options in the panel are
used to define the log type.
The options in the Log panel are listed as follows:
Log Type
Specifies the log category. It can be specified as one of the following:
● Engine
Uses the "Engine" log if you want to log the events related to running reports, that is creating report results
or exporting reports. Reports are run by the Engine component of JReport Server.

● DHTML
Uses the "DHTML" log if you want to log the events related to end users modifying and saving DHTML
format reports, including Ad Hoc and analysis features supported by JReport Viewer.

● Access
Uses the "Access" log if you want to log which users accessed which services, such as report running
service and task scheduling service.

● Manage
Uses the "Manage" log if you want to log the events related to modifying settings in the Administration
Console or server.properties.

● Error
Uses the "Error" log if you want to log errors in any of the categories.

● Event
Uses the "Event" log if you want to log the events related to the lifecycle of the server instance, such as its
start time and stop time.

● Debug
Uses the "Debug" log if you want to log the events most likely needed for debugging purposes, such as the
exact SQL statements used to query the database.

● Performance
Uses the "Performance" log if you want to analyze the performance of report result or export operations.

● Dump
Uses the "Dump" log if you want to log events related to at what time what action is started or ended
during the process of running tasks. For example, when the task is submitted, when the task is run, when
the Engine is initiated, and when the Engine is stopped.

Descriptions
Specifies the brief description of the specified log type.
Trace Level
Used for logging something expectable or regular, such as tracing program workflow, logging runtime
information and associated elements.
You can set the trace level of the specified log type to one of the following:
● OFF
Specifies not to use the trace level.

● OUTLINE
The OUTLINE level specifies an outline of program workflow, and dump global variables, including a single
thread, multiple threads, the time for when to begin to fetch data, and success in exporting to the specified
result format.

● INFO
The INFO level specifies informational messages that highlight the application progress at a coarse-grained
level, and important local variables, such as query, parameter, formula value used when running report
sets, connection information, and SQL statement.

● TRIVIAL
The TRIVIAL Level specifies fine-grained informational events most useful in tracing an application. Such as
the report structure dump, or the result set dump.

Error Level
Used for logging something unexpected or irregular. For example, a URL is unreachable, a file is not there, or
a table cannot be found in a data source.
You can set the error level of the specified log type to one of the following:
● OFF
Specifies not to use the error level.

● FATAL
The FATAL level specifies severe error events that will presumably lead the application to abort, for
example, failing to read the valid key, and exceptions that result in feature uncompleted.

● ERROR
The ERROR level specifies error events that may allow the application to continue running, such as failing to
load a report set, failing to find a catalog file, failing to parse a parameter, and failing to create db buffer.

● WARN
The WARN level specifies potentially harmful situations, such as failing to find the resource, or having found
invalid query or formula with grammar error when loading a catalog.

Additivity
Determines the inheritance of the appenders defined by the Logger's ancestors.
Log Destination
Specifies where the log contents will be outputted to.
If you have set log destination, the threshold level for each goal appender defines the basic log level which
will be further filtered by JReport trace level and error level, and then comes out the final log output. Trace
level and error level are JReport specific log levels developed based on Log4J. They group log information into
two categories and add more levels to classify log information.
For example, if threshold=OFF, the trace level and error level will be ignored, and the log information output
is none. If threshold=ALL, the output is determined by the trace level and error level. If threshold=one of the
other levels, the output will be the result based on the trace level and error level that filter the threshold level.
● File
Outputs log contents to the file appender that requires a layout. Logs of the specified category are written
into a file. When File is checked, the following options are available:
❍ Threshold
Defines the appender's level (Log4j named as threshold).

❍ Layout Type
Specifies the layout type used to format the log contents.

❍ Pattern Conversion
Sets the conversion pattern for the Pattern Layout.

❍ File Name
Specifies the name of the log file to which the File Appender will output the log contents. The suffix of the
log file name is .log.

❍ Append
Specifies whether or not to retain the old contents of the specified file.

❍ Buffered IO
Specifies to create a buffer for the log IO.

● Rolling File
Outputs log contents to the rolling file appender that requires a layout. When Rolling File is checked, the
following options are available:
❍ Threshold
Defines the appender's level.

❍ Layout Type
Describes the layout type used to format the log contents.

❍ Pattern Conversion
Sets the conversion pattern for the Pattern Layout.

❍ File Name
Specifies the name of the log file to which the appender will output the log contents. The suffix of the log
file name is .log.

❍ Append
Specifies whether or not to retain the old contents of the specified file.

❍ Buffered IO
Specifies to create a buffer for the log IO.

❍ Maximum File Size


Decides the maximum file size of the rolling file appender. The log system will create a new rolling file
when the file size exceeds the maximum file size.

❍ Maximum Backup Index


Decides the maximum number of the latest rolling files that will be retained by the log system.

● Daily Rolling File


Outputs log contents to the daily rolling file appender that requires a layout. When Daily Rolling File is
checked, the following options are available:
❍ Threshold
Defines the appender's level.

❍ Layout Type
Specifies the layout type used to format the log contents.

❍ Pattern Conversion
Sets the conversion pattern for the Pattern Layout.

❍ File Name
Specifies the name of the log file to which the appender will output the log contents. The suffix of the log
file name is .log.

❍ Append
Specifies whether or not to retain the old contents of the specified file.

❍ Buffered IO
Specifies to create a buffer for the log IO.

❍ Date Pattern
Specifies the data pattern used to generate the daily rolling file.

● Socket
Outputs log contents to a remote log server. The socket appender needs not a layout. When Socket is
checked, the following options are available:
❍ Threshold
Defines the appender's level.

❍ Remote Host
Specifies the host name where the Socket Server is located.

❍ Port
Specifies the port number on which the Socket Server listens.

❍ Delay
Specifies the timeout interval value for when a client attempts to create a socket connection.

❍ Location Information
Specifies whether or not to output the log location information to the socket stream.

● NTLog
Outputs log contents to the NT event log system. Applies only to Windows servers. This appender requires
a layout. When NTLog is checked, the following options are available:
❍ Threshold
Defines the appender's level.

❍ Layout Type
Specifies the layout type used to format the log contents.

❍ Pattern Conversion
Sets the conversion pattern for the Pattern Layout.

❍ Source
Specifies the source name used and displayed by the NTEvent Viewer.

● Syslog
Outputs log contents to a remote syslog daemon. Applies only to Unix and Linux servers. This appender
requires a layout. When Syslog is checked, the following options are available:
❍ Threshold
Defines the appender's level.

❍ Layout Type
Specifies the layout type used to format the log contents.

❍ Pattern Conversion
Sets the conversion pattern for the Pattern Layout.

❍ Syslog Host
Specifies the host name where the Syslog server is located.

❍ Facility
Specifies the facility name that is used by the Syslog.

❍ Facility Printing
Specifies whether or not to print the facility information.

● LF5
Outputs log contents to a swing based logging console. LF5 has a swing-based UI to view all of the logging
messages at run time and enables you to search and filter logging messages. This appender needs not a
layout.
When LF5 is checked, the following option is available:
❍ Threshold
Defines the appender's level.
● Telnet
Outputs log contents to a read-only socket. You use telnet to connect to the socket and receive log data,
and this is handy for remote monitoring, especially when monitoring a servlet. This appender requires a
layout.
When Telnet is checked, the following options are available:
❍ Threshold
Defines the appender's level.

❍ Layout Type
Specifies the layout type used to format the log contents.

❍ Pattern Conversion
Sets the conversion pattern for the Pattern Layout.

❍ Port
Specifies the port number on which Telnet listens.

● Console
Outputs log contents to the standard stream of Jave console. When Console is checked, the following
options are available:
❍ Threshold
Defines the appender's level.

❍ Layout Type
Specifies the layout type that is used to format the log contents.

❍ Pattern Conversion
Sets the conversion pattern for the Pattern Layout.

❍ Target
Specifies the standard IO target of the Console.
■ System.out
If selected, the log contents will be outputted to the standard output stream of the console.

■ System.err
If selected, the log contents will be outputted to the standard error stream of the console.

Save
Applies all changes to JReport Server.
Notes:
● The Pattern Conversion option is available only when the Pattern is chosen as the Layout Type.

● For more information about the Pattern Conversion option, see comments in the LogConfig.properties file
located in <install_root>\bin directory.
Cache panel
This panel allows you to configure the cache settings of JReport Server. It contains three tabs:
● Report Cache

● Security Cache

● Image Cache

Save
Applies the changes to JReport Server.

Report Cache
To improve performance, JReport Server enables you to cache report sets and catalogs into memory so that they
do not have to be loaded from disk when they are required. Note that when you run a report set to DHTML
format, the report set and the catalog will not be cached.
The following options are available in this tab.
Cache Loaded Catalogs
Specifies whether to keep a catalog in memory or to remove it from memory after a report set has been
generated.
Usually, after a report set has been generated, the catalog used to generate it is removed from memory.
However, if you specify this option, the catalog will be cached instead of being removed.
● Maximum Number of Catalogs to Be Cached
Specifies the maximum number of catalogs that can be cached by the server in its memory. No more catalogs
can be cached if this amount has been reached.

● Cached Catalogs
Lists the currently cached catalogs.
If you are using the Add button to add a catalog, the listed catalog item includes information such as catalog
file path in the server resource tree and catalog version number. The format is as follows:<catalog file path>-
V<version number>. The root path stand for the My Reports folder is /USERFOLDERPATH/admin/; the root path
stand for the Public Reports folder is /.

For the catalogs that are automatically cached by the server after the report sets in them are run, the real
paths of them are listed.
❍ Add
Adds a new catalog to the list of catalogs to be cached.

❍ Remove
Deletes the selected cached catalog.

Cache Loaded Report Sets


Specifies whether to keep the report sets in memory or to remove them from memory after they have been
generated.
● Maximum Number of Report Sets to Be Cached
Specifies the maximum number of report sets that can be cached in the memory by the server. No more report
sets can be cached if this amount has been reached.
Each cached report set will use some heap memory. If the heap is used up, an OutOfMemoryException will be
thrown. -ms/-Xms specifies the initial heap and -mx/-Xmx specifies the maximum heap. For example, -ms10m
-mx512m means that the initial heap is 10MB and the maximum heap is 512MB. You can refer to the
documents of the Java VM for more information.
Here is an example, the accuracy depends on your OS and VM:

Cache Size Heap Size Required


10 report sets 16M
30 report sets 25M

The default cache size is 10 report sets and the default maximum heap space is 512MB. When you adjust the
number, you should adjust the heap accordingly. The larger the heap space, the better the performance
provided enough physical memory is available.

● Cached Report Sets


Lists currently cached report sets.
If you are using the Add button to add a report set, the listed report set item includes information such as
report set file path in the server resource tree, report set version number, and applied style name. The format
is as follows: <report set file path>-V<version number>(<applied style name>). When there is no style
applied, the applied style name is None. The root path stand for the My Reports folder is /USERFOLDERPATH/
admin/; the root path stand for the Public Reports folder is /.
For the report sets that are automatically cached by the server after they are run, the real paths of them are
listed.
❍ Add
Adds new report sets to the list to be cached.

❍ Remove
Deletes the selected cached report sets.

Report Buffer Size for Sort Action


● System Managed Size
Specifies whether to automatically control the buffer size used in the RAM for each report when sorting on
DHTML reports by system. If checked, all data for sorting will be stored in the RAM automatically.

● Custom Size
Specifies to customize the buffer size used in the RAM for each report when sorting on DHTML reports. The
default value is 16 MB, and the minimum size required by JReport is 4 MB. Any value smaller than 4 MB will be
ignored and use 4 MB instead, because if the amount of data for sorting is large (such as 5,000,000 records),
but the buffer size that you configure is small, it will require a lot of IO and produce poor performance.

Note: Any change to the buffer size will take effect immediately.

Security Cache
The following options are available in this tab.

User Cache Size


Specifies the maximum number of user objects in the security cache.
Role Cache Size
Specifies the maximum number of role objects in the security cache.
Group Cache Size
Specifies the maximum number of group objects in the security cache.
Protection Cache Size
Specifies the maximum number of ACL objects in the security cache.
Image Cache
The following options are available in this tab.

Cache Images
Specifies whether or not to enable image cache.
● All used images
If checked, all the images that are used in reports will be cached.

● Maximum Image Cache Size


If checked, specify the maximum size for caching images as required. The default value is 10 MB.

● Show Details
If checked, the detailed status of the current image cache will be shown, that is to say, you can see all the
cached images.
❍ Name
Displays the name of the image.

❍ Size
Displays the size of the image file.

❍ Catalog
Displays the catalog file in which the image file is.

❍ Path
Displays the path of the cached image.

❍ Locked
Displays the lock status of the image file.

❍ Add
Adds an image to the image cache.
■ Look In
Specifies the root of the catalog, My Reports or Public Reports.
■ Select Directory
Specifies the directory of the catalog.

■ Catalog
Specifies the catalog from the drop-down list.

■ Image File
Specifies the image file.

■ Image Size
Displays the size of the selected image file.

❍ Lock
If you select one image and lock it, the image will be always kept in cache until you remove it manually or
restart JReport Server.

❍ Unlock
The unlocked image will not be always be kept in cache.

❍ Remove
Removes the selected image from the image cache.

❍ Remove All
Removes all the images from the image cache.
Performance panel
This panel allows you to tune the performance of JReport Server.

The options in this panel are as follows:


Catalogs to Be Preloaded
Displays the catalogs that will be loaded when JReport Server is started.
● Add
Adds a catalog to be preloaded.

● Remove
Removes a catalog from the preloading list.

● Preload Catalog Referred Classes


Specifies to preload the Java classes that are used by a catalog when JReport Server is started.
Preloading some useful Java classes will improve performance. Otherwise, it will take some time for JReport Server to
load any required Java classes when generating reports.

● Preload Report Set Referred Classes


Specifies to preload the Java classes that are used by a report set when JReport Server is started.

● Preload Engine Referred Classes


Specifies to preload the Java classes used by the JReport Engine when generating reports when JReport Server is started.
Report Sets to Be Preloaded
Displays the report sets that will be loaded when JReport Server is started.
● Add
Adds a report set to be preloaded.

● Remove
Removes a report set from the preloading list.

● Preload Fonts
Specifies to preload fonts when JReport Server is started.

Improve I/O Performance


● Compress Swap Files
Specifies whether or not to compress the temporary data generated during runtime before it is swapped to disk. By
compressing the swap files, the I/O efforts in certain circumstance may remarkably reduced so that the overall
performance can be improved.

Note: Compressing swap files will increase CPU pressure because it uses compress algorithm to shrink data, so if your
system already has high CPU usage, enabling this option will bring extra performance impact, depending on different
circumstance, and such impact may overcome the performance gain that comes from reducing I/O time.
Save
Applies the changes to JReport Server.
Advanced panel
This panel allows you to configure the advanced settings of JReport Server.

The options available in this panel are as follows:


No Security Check
Specifies whether the server responds to all the requests without security checking.
Enable "Publish to Versioning System" for Background Tasks View
Specifies whether to generate the hyperlink Publish to Versioning System in the view page when you run a report set on the
JReport Console page. Click this hyperlink to save the report set result as a version.
Keep Connection Alive
Specifies whether to keep the connection alive. By default, this option is checked. When connections are established to the
JReport Server at runtime, you can choose either to keep the connections alive or to close them. If you uncheck this option,
the connection will be disconnected once the HTTP request has been responded to. That is, Internet Explorer will not hold the
open connection.
Prompt Message When Server Task Queue is Full
If checked, a message will be prompted asking you either to place the task in the waiting queue or to cancel it when a task
cannot be run in JReport Server immediately due to the task queue being fully occupied.
Prompt Message When JReport Viewer (DHTML) Action Queue is Full
If checked, a message will be prompted asking you either to place the action in the waiting queue or to cancel it when an
action cannot be performed in JReport Viewer immediately due to the action queue being fully occupied, or simply showing
that no more action can be held at the moment when the waiting queue is full.
Enable Multiple Users to Login Using the Same User Name
Specifies whether multiple sessions created by one user can exist simultaneously. By default, this option is checked and one
user can log onto JReport Server repeatedly without having to terminate former sessions until the session number reaches the
number permitted by the license. If this option is unchecked, only the newly created session will be active, and all the other
former sessions created by the same user will be terminated by the server automatically.
Enable Resources from Real Paths
Specifies whether to enable getting resources from real paths. By default, this option is not checked. If you need to get
resources from real paths, make sure that this option is checked. This option is disabled in cluster environment.
Enable Task Duration
Specifies whether to enable setting a time duration for a task and asking JReport Server to cancel the task or to notify you or
someone else of the task status via e-mail if the task has not yet finished running when the task duration is up.
If this option is checked, the Duration tab will be available in the Advanced Run and Schedule dialogs.
Enable Linked Catalog
Enables to predefine a linked catalog at server level for the My Reports and Public Reports folders to inherit.
If you have set a linked catalog here, then the My Reports and the Public Reports folders can inherit the linked catalog from
the server level once their Enable Linked Catalog property is enabled.
If the option is unchecked, the My Reports and the Public Reports folders cannot inherit linked catalog.
● Select Another Catalog
Speciifes another catalog. All catalogs in the server resource tree are listed for your selection.

Role Based Authorization


Specifies whether to activate the role based security in replace of the default applied security of setting permissions for users,
groups and roles. In the role based security, permissions are defined on roles only, and users and groups are mapped to roles.
If this option is checked, the option Permission Setting UI Displays will be hidden since it applies to the default applied security.
Permission Setting UI Displays
Controls whether to display user, role or group permissions in the permission setting UI for the server resource tree node and
version properties, and the scheduling to version and advanced run dialogs.
Permission Algorithm
Specifies an algorithm for calculating a user, role or group's permission.
For information about the permission accumulation algorithm and the user permission replacement algorithm, see server.
permission.algorithm.

User Session Timeout


Specifies the time limit for a user to gain access to JReport Server.
Generally speaking, if several users attempt to gain access to JReport Server at the same time and among them, a user is
unable to send requests to JReport Server for a period of time, the server will then log it out after timeout. The default session
timeout is 3 hours.
Time Limit before Moving to Background
Specifies the maximum time for running a report set. If a report set is so large that JReport Server cannot run it within the
time specified here, it will be put into the Background Tasks page and the server will go on running the report set there. If you
want to stop running the report set, select the report set by clicking in the row and then delete it from the Background Tasks
tab.
Status Refresh Interval
Specifies task duration check frequency. By default, JReport Server checks task duration every 30 seconds. This value can also
be reset by the task.duration.check_cycle property in the server.properties file. Note that the value must be an integer greater
than 0.
The option is available when the option Enable Task Duration in this panel is checked.
Temporary Files Life
Specifies the length of the period to keep the temp files for after they have been generated. By default it is 24 hours. Temp
files are deleted 24 hours after they have been generated.
Engine Priority
Specifies the priority of the engine in CPU usage when multiple tasks are running on your machine. It can be one of the
following: Lowest Priority, Low Priority, Normal Priority, High Priority, and Highest Priority.
On the condition that multiple tasks are running on your machine, you can decide your engine's priority in CPU usage by
choosing one of them. For example, if you choose Low Priority, JReport Engine will share a comparatively small part of the
CPU usage when it is running. Whereas, if you choose High Priority, JReport Engine will occupy more CPU usage. This choice
provides you with greater flexibility in adjusting the engine's utilization of the CPU according to your requirement. Of course,
the higher the priority, the faster the performance.
Save
Applies the changes to JReport Server.
LDAP panel
LDAP (Lightweight Directory Access Protocol) is a lightweight client-server protocol for accessing directory servers. With
LDAP support, the JReport Server enables you to import users/groups from directory servers.
This panel allows you to configure the JReport Server LDAP settings. It contains four tabs:
● Server

● Import

● Synchronize

● Role Map

Server
This tab allows you to configure LDAP server settings.
Select LDAP Server
Specifies the Directory Server. Supported servers are: Novell Directory Server, iPlanet Directory Server, Microsoft Site
Server, OpenLDAP Directory Server, Win2000 Active Directory, and Lotus Domino on NT.
Load Settings
Loads the settings of the specific server.
Enable LDAP Version2/Version3
Specifies whether or not to enable JReport Server to retrieve users from the Directory Server and which LDAP Version to
adopt.
The LDAP Version3 extends LDAP Version2 in the areas of internationalization, authentication, referral, and deployment. It
also allows new features to be added to the protocol without also requiring changes to the protocol. This is done by using
extensions and controls.
LDAP Version3 protocol has extensible authentication which uses Simple Authentication and Security Layer ( SASL)
mechanisms so as to support pluggable authentication.
Note that currently when you select Version3, JReport Server will only use LDAP Version3 protocol to connect to LDAP
server.
Enable Direct Authentication to LDAP Server
Specifies whether or not to enable LDAP support without importing LDAP security information. This option controls the
LDAP feature's work mode. Currently, the JReport Server security system can run two modes in which you can use an
LDAP server's security system. The first is importing mode. In this mode, if you want to use the LDAP feature, you will
have to import the security information from an LDAP server. The second is non-importing mode. With this mode, JReport
Server can directly access an LDAP server and obtain LDAP security information without having to import it.
Enable Auto-Import of Users from LDAP Server
Specifies to enable JReport Server to import LDAP users automatically. If activated, the server security system will import
security information from the LDAP server when an LDAP user logs into JReport Server for the first time.
LDAP URL
Specifies the URL of the LDAP server.
LDAP Server Port
Specifies the port of the LDAP server.
Root Entry
Specifies the root of the Directory Server. From this root, JReport Server searches for objects in Directory Server.
Directory Manager DN
Specifies the entry path of the Directory Manager who has the priority to manage users on the Directory Server.
Password
Specifies the Directory Manager's password.
Remember Password
Specifies to remember the Directory Manager's password.
Encryption Type
Specifies the encryption type. There are two types available. None means using a plain port to connect to the LDAP server,
and SSL refers to connecting to the LDAP server by SSL.
Import LDAP Groups to
Specifies whether the LDAP groups will be imported into the JReport security system as local roles or as local groups.
Test Connection
Tests whether the connection to the specified server is successful or not.
User Schema
Specifies the settings of user schema.
● User Attribute Name
Specifies the user's attribute name.

● User Common Name


Specifies the user's common name.

● User Password
Specifies the user's password.

● Distinguished Name
Specifies the name of the organization unit inside the LDAP server where you want to perform a search for users.

● Query User
Views properties of users in the organization unit.

● Filter
Specifies the filter criteria with which to search for users.

Group Schema
Specifies the group schema settings.
● Group Common Name
Specifies a common name for the group.

● Group Member Type


Specifies the member type of the group.

● Distinguished Name
Specifies the name of the organization unit inside the LDAP server where you want to perform a search for groups.

● Filter
Specifies the filter criteria with which to search for groups.

● Admin Group
JReport Server will add the group specified here as a member to the Admin group.

● Query Group
Views properties of groups in the organization unit.

Save
Saves all changes.
There are several Examples of LDAP server configuration for your reference.

Import
This tab allows you to import users/groups from directory servers.
LDAP users overwrite local users
Specifies that users of the LDAP server will overwrite those of the local server.
Local users overwrite LDAP users
Specifies that users of the local server will overwrite those of the LDAP server.
List Users
Lists the LDAP users with the same names as the users from JReport Server.
List Groups
Lists the LDAP groups with the same names as the groups from JReport Server.
Import Users
Imports LDAP users.
If LDAP Server overwrite Local users is selected, all LDAP users will then be imported, and any JReport Server users that
have the same names as the LDAP users will be overwritten.
If Local overwrite LDAP server users is selected, all LDAP users will be imported, and any users that have the same names
as JReport Server users will be overwritten.
● Import
Imports the selected users from the LDAP server to JReport Server.

● Import All
Imports all users from the LDAP server to JReport Server.

● Back
Returns to the default Import tab.

Import Groups
Imports LDAP groups.
If LDAP Server overwrite Local users is selected, all LDAP groups will be imported, any LDAP group that has the same
name as a group in the local server will be merged into the local group, and local users of the same names as the LDAP
users will be overwritten.
If Local overwrite LDAP server users is selected, all LDAP groups will be imported, any LDAP group that has the same
name as a group in the local server will be merged into the local group, and LDAP users of the same names as the local
users will be overwritten.
● Import
Imports the selected groups from the LDAP server to JReport Server.

● Import All
Imports all groups from the LDAP server to JReport Server.

● Back
Returns to the default Import tab.
Notes:
● There is an admin group named Administrators on the LDAP Server. If you perform an Import operation, all groups will
then be imported except for the Administrators group.

● In the case of a non-admin group on the LDAP Server having the same name as a non-admin group on JReport Server,
if you perform an Import operation, all users from the non-admin group on the LDAP Server will be merged into the non-
admin group of JReport Server.

● If you have imported users/groups from the LDAP server to JReport Server once and you want to import them again, in
order to prevent the information of the users/groups on JReport Server from being overwritten by the newly imported
users/groups, you should first check Local overwrite LDAP server users and then import the users/groups.

Import All
Imports all LDAP users and LDAP groups.

Synchronize
This tab enables you to synchronize security information from your local server with that of the LDAP server so that you
have the most current security information.
The synchronization process first compares the security information on both the local server and the LDAP server. Then, if
necessary, it updates the information on the local server so that both sides are consistent. However, note that for security
reasons, this process does not automatically import the newly-added users or groups from the LDAP server.

Synchronize Now
Synchronizes local security information.
Synchronization Information
Lists information about the synchronization task when the synchronization process is complete.
LDAP Synchronization Schedule Settings
Sets the schedule settings to your requirement.
● Enable
Enables the LDAP synchronization schedule task.

● Disable
Disables the LDAP synchronization schedule task.

● Edit
Edits the synchronization schedule task.

● Detail
Lists information about the last run synchronization task.

Role Map
This tab allows you to pre-define a role map for the imported LDAP users.
When an LDAP user account is automatically imported (the Enable Auto-Import of Users from LDAP Server option in the
Server tab has been checked), JReport Server can automatically assign it to specific roles according to the pre-defined role
map.
A role map consists of two parts: Search Filter String and Corresponding Role Name. When an imported LDAP user
account matches the filter condition (specified by the Search Filter String), it will automatically be added to a specific role
(specified by the Corresponding Role Name). You can create more than one role map.

Create New Role Map


Creates a new role map.
● Search Filter String
Specifies the search filter criteria.

● Corresponding Role Name


Specifies the corresponding role to which you want to assign the matching users.

● Test
Tests the contents of the filter. The results of the test do not affect the creation of the new role map.

● Save
Creates a role map and exits the dialog.
● Cancel
Cancels the settings.

Edit
Edits the specified font map.
Test
Tests the contents of the filter.
Delete
Deletes the specified role map.
Export panel
This panel allows you to configure the default settings for exporting report set results in JReport Server. It is divided into
three tabs:
● E-mail tab

● Fax tab

● Layout Precision tab

Save
Saves changes made in this panel. The changes will be applied the next time JReport Server starts.

E-mail tab
Configures the default settings for exporting report set results to e-mail.

The options available in this tab are as follows:


SMTP Server
Specifies the numeric or named host of the machine where the e-mail server is located.
Server Requires Authentication
This option must be checked if an SMTP Server requires authentication.
SMTP Server Port
Specifies the port where the e-mail server runs.
E-mail Address
Specifies the address of the e-mail sender. You must specify an address and make sure that the format of the specified
address is valid.
Default E-mail Format
Specifies how a published report set is sent out by e-mail. The format can be any of the following:
● E-mail Result in HTML E-mail Format
Sends the report set result via e-mail to the specified address in HTML format. The report result will be shown in HTML
format in the mail body.

● E-mail Result in Plain Text E-mail Format


Sends the report set result via e-mail to the specified address in plain text format. The report result will be shown in plain
text format in the mail body with no other information such as color, images and so on.

● Attachment in JReport Result Format


Sends the report set result via e-mail to the specified address with a JReport result file as attachment.

● Attachment in HTML Format


Sends the report set result via e-mail to the specified address with an HTML file as attachment.

● Attachment in PDF Format


Sends the report set result via e-mail to the specified address with a PDF file as attachment.

● Attachment in Excel Format


Sends the report set result via e-mail to the specified address with an Excel file as attachment.

● Attachment in Text Format


Sends the report set result via e-mail to the specified address with a Text file as attachment.

● Attachment in RTF Format


Sends the report set result via e-mail to the specified address with a RTF file as attachment.

● Attachment in XML Format


Sends the report set result via e-mail to the specified address with an XML file as attachment.

● Attachment in PostScript Format


Sends the report set result via e-mail to the specified address with a PostScript file as attachment.

Compress Attachment as Java Archive


Specifies whether or not to compress the mail attachment as Java Archive.
Maximum Split PDF File Size (KB)
Specifies in KB the largest size each PDF file could have after splitting.
Maximum Split PDF File Page
Specifies how many pages each PDF file could have at most after splitting.
If you choose to split a PDF file by file size, then how to split the PDF file depends on the following two aspects:
● The separated pages by the before-split PDF file

● The maximum file size specified for an after-split PDF file

Here the before-split PDF file refers to the big PDF file to be split and an after-split PDF refers to one of the smaller PDF files
generated after splitting the big PDF file. When a PDF file is to be split by file size, the splitting will be carried out based on
the pages the file separates but not physically on the maximum file size specified for an after-split PDF file. However, the
maximum file size helps to decide by which page to split: the page that the maximum size comes to is not included with the
previous pages in an after-split file, but instead is the beginning page of the following after-split file. For example, there is a
2M PDF file with 1M per page. If the maximum file size is set to 1.5M, we will get two PDF files with each 1M and one page
as the split result.
Notes:
● When the before-split PDF file contains only one page, the split function will not take effect for the only one page cannot
be further split either by file size or by file page, and therefore the result is one PDF file as attachment no matter the Split
PDF feature is enabled or not.

● The Split PDF function takes effect only when the selected option value is greater than 0.

● If you check to use the Split PDF function, the TOC and Sign options are disabled when scheduling a report set result to e-
mail in PDF file attachment.
Fax tab
Configures the default settings for exporting report set results to fax. You can specify to export the report set results either
via a fax machine or a fax server.

Fax Machine
JReport supports exporting report set results to fax. If you want to use this feature, you will need to configure your running
environment first.
Download Java Communications API (Version 2.0) from the website http://www.jinfonet.com/download/third_party_tool/
JavaCommAPIV2_Solaris.zip for Solaris and http://www.jinfonet.com/download/third_party_tool/JavaCommAPIV2_Win32.
zip for Win32, and place the following files in the specified locations:

● For Windows:
File Name Location
comm.jar <server_install_root>\lib
javax.comm. <Java_install_root>\jre\lib
properties
Win32Com. <Java_install_root>\jre\bin
dll

● For Solaris:
File Name Location
comm.jar <server_install_root>/lib
javax.comm.properties <Java_install_root>/jre/lib
libSolarisSerialParallel.so LD_LIBRARY_PATH

The following are options available when Fax Machine is checked:


● Dialing
Specifies the dialing mode for the fax modem. Options are: Pulse or Tone.

● Modem Class
Specifies the class of the modem. Options are: Class 1, Class 2 or Class 2.0. All are fax protocols. Most modems only
support Class 1, so if you select Class 2 or Class 2.0, you should make sure that your modem can support it.

● Flow Control
Specifies the flow control mode between DTE (Data Terminal Equipment) and DCE (Data Circuit-terminating Equipment).
Specifying flow control can help the compressing data function of the modem work better.
The flow control options are as follows:
❍ RtsCts
Flow control of the hardware (recommended).

❍ Xon/Xoff
Flow control of the software.

❍ None
No flow control specified.

● Flow Control Command


Specifies the flow control command according to the modem being used. If not contained in the drop-down list, you can
leave this field empty and then enter the command as part of the initial string. The command should be obtained from
your modem manual.

● Port
Specifies the port number. The port should be obtained from your modem manual.

● Initialization String
Initializes the modem. The string should be obtained from your modem manual.

● Timeout
Specifies the maximum amount of time that the fax should wait for a response from the destination before timing out.

● Retries
When the line is busy, the report set result cannot be faxed. Here, you can specify the maximum number of times the
modem re-tries faxing the report set result.

Fax Server
If you choose to export the report set results via a fax server, configure the following settings according to your
requirements:
● Fax Gateway Connector
Specifies the name of the class implemented by users.

Note: By default, the fax server JReport uses is based on Hylafax Server, however, if you want to export your report
set results via Hylafax Server, you need to download the gnu-hylafax packages according to your requirements from
http://sourceforge.net/projects/gnu-hylafax/, for example, gnu-hylafax-util-0.0.9.2.jar, gnu-inet-ftp-0.0.9.2.jar, and
gnu-hylafax-0.0.9.2.jar, and then add them to the class path of setenv.bat in the ADDCLASSPATH variable.
● Server IP
Specifies the IP address or domain name of the fax server.

● Server Port
Specifies the port number of the fax server.

● Login ID
Specifies the username for the class communicating with fax server.

● Password
Specifies the password for the class communicating with fax server.

● Fax Sender
Specifies the user's name that shows in the fax server manager.

● Special Parameters
Specifies some parameters for the fax server.

● Time Out
Specifies the maximum amount of time that the fax should wait for a response from the destination before timing out.

Note: For Hylafax Server the value should not be larger than 59 seconds. It is a limitation of Hylafax Server.
● Retries
Specifies the number of times the modem retries faxing the report set result.

Layout Precision tab


Configures the precision level for different formats with which the report set result will be exported. The settings of high/low
precision take effect only in the reports whose Precision Sensitive property is set to true in the Report Inspector of JReport
Designer.
Customize for each format
In order for the pre-defined default precision for a format to take effect, you need also check the checkbox before the
format. For formats that are not checked, JReport will decide their precision.
Note: The RSD format controls only the DHTML Format in the Schedule dialog.
● System Default Settings
Pre-defines the default precision for each format.
❍ High
If checked, the report set result will be exported to the specified format with high precision.

❍ Low
If checked, the report set result will be exported to the specified format with low precision.

Optimize for speed over visual effect


If checked, the report set results will be exported with precision level decided by JReport.
Connection panel
This panel is used for retrieving the modified catalog connection information from the datasource.xml file in the
<install_root>\bin directory.

The option available in this panel is as follows:


Reload
Reloads catalog connection information from the datasource.xml file.
Upload panel
This is used for specifying the allowed image size and types for the images which are uploaded from the local file
system when end users insert images into reports in JReport Viewer.

The options available in this panel are as follows:


Image Type
Sets the allowed image types.
Image Size
Sets the allowed image size. If the value is blank, it means that the image size is unlimited.
Save
Saves changes made in this panel. The changes will be applied the next time JReport Server starts.
Custom Field panel
This panel is used for defining and managing user defined fields which can be used as resource properties.

The options available in this panel are as follows:


New Custom Field
Opens the New Custom Field dialog for creating a custom field.

Edit
This option is enabled after you select one or more custom fields in the Custom Field table below. It
contains two operations:
● Edit
Displays a dialog to edit the information of the selected custom field.

● Delete
Deletes the selected custom fields.

Custom Field table


Displays the custom field information.
● Custom Field Name
Displays the name of the custom fields.

● Description
Displays the description of the custom fields.

● Enabled
Shows whether the custom fields are enabled or not.
Customize Waiting Page dialog
This dialog is displayed when you click the Customize button in the Profile > Customize Server Preferences > Advanced tab on the
JReport Administration page. It helps you to customize the waiting screen according to your requirements.

Default Format
Applies the default format provided by JReport.
Customize Format
Allows to customize loading status image and tip text font.
● Enable Customize Loading Status Image
Allows to upload a local image to Server as the loading status image appearing in waiting pages.
❍ Loading Status Image File
Uploads an image from the local disk. These types of images are supported: GIF, JPG, BMP, and PNG.

❍ Server-side File Name


This name will be used as the name of the image file after it is uploaded to server.

❍ Alignment to
Specifies the relative position of the image as compared to tip text in waiting pages.

● Tip Text Font


Specifies font face and size and style of tip text in the waiting pages.

Specify a JSP as Waiting Page


Allows customized JSP files to implement the waiting pages.
● JSP File
Uploads a JSP from the local disk. Note that the required JSP file is not exactly a complete JSP but a segment. Its body can
contain only one root <div></div> tags and the non-body section can contain only tags that are allowed in the <body></
body> tags.
The following is a sample:
<div>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td valign="middle" align="center">
<table cellpadding="5" cellspacing="0" border="0">
<tr>
<td><font style="font-size:12px;font-family:Verdana;">waiting....processing</font></td>
</tr>
<tr>
<td><img src="../images/loadingdefault.gif" /></td>
</tr>
</table>
</td>
</tr>
</table>
</div>

● File Name
This name will be used as the name of the JSP file after it is uploaded to server.

OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Data dialog
After you click Data on the system toolbar of the JReport Administration page, the entries to the
following panels are available on the drop-down menu. The panels help you to configure your
databases.
Note: The Profiling DB option is not shown by default on the drop-down menu. In order to make it
shown, you should set the server.profiling.enable property to true in the server.properties file in the
<install_root>\bin directory.

● System DB panel
It allows you to configure your system database and backup server data. The system database holds
resources of the global server scope, such as server.properties, global NLS, etc.

● Realm DB panel
It allows you to manage server data, such as configuring your realm database, backing up server
data, archiving/restoring server data, viewing backup and archive files' summary information, and
clearing invalid resource nodes. The realm database holds information of folders, nodes, versions, the
security system, schedule, and the completed table.

● Profiling DB panel
It allows you to manage server data, such as configuring your profiling database, backing up server
data, archiving/restoring server data, and viewing backup and archive files' summary information.
System DB panel
This panel is displayed when you click Data on the system toolbar of the JReport Administration page
and then select System DB from the drop-down menu. It allows you to configure your system database
and backup server data.
The following are tabs contained in the panel:
● Configuration tab

● Backup tab

Configuration tab
This tab allows you to configure your system database to store server data.
Driver Class Location
Specifies the path of the JDBC driver. It can be null, which means that JReport Server will load the
driver from the VM's class path. Click the Browse button to specify the location for the driver class.
Driver
Specifies the name of the JDBC driver.
URL
Specifies a valid URL that can be used to establish a connection to your database. For the valid format
of the URL, refer to the handbook of the specific driver.
User
Specifies the JDBC user name for connecting to the database.
Password
Specifies the user password.
Test
Tests whether the JDBC configuration works.
Update
Updates the JDBC configuration and saves it to disk.
Cancel
Cancels the settings.

Backup tab
This tab allows you to back up your system database for archiving.
Backup System DB
Backups JReport Server's system database to an archive. Click the Browse button to specify a file path
to store the backup archive.
Backup
Begins the backup process.

Related topics:
● Managing server data
Realm DB panel
The panel is displayed when you click Data on the system toolbar of the JReport Administration page and then
select Realm DB from the drop-down menu. It allows you to manage server data, such as configuring your
realm database, backing up server data, archiving/restoring server data, viewing backup and archive files'
summary information, and clearing invalid resource nodes.
The following are tabs contained in the panel:
● Configuration tab

● Backup tab

● Archive tab

● Summary tab

● Realm DB Check tab

Select Realm
Before you can manage the realm database, you need to first select a realm from the drop-down list.

Configuration tab
This tab allows you to configure your realm database to store server data.
Driver Class Location
Specifies the path of the JDBC driver. It can be null, which means that JReport Server will load the driver from
the VM's class path. Click the Browse button to specify the location for the driver class.
Driver
Specifies the name of the JDBC driver.
URL
Specifies a valid URL that can be used to establish a connection to your database. For the valid format of the
URL, refer to the handbook of the specific driver.
User
Specifies the JDBC user name for connecting to the database.
Password
Specifies the user password.
Test
Tests whether the JDBC configuration works.
Update
Updates the JDBC configuration and saves it to disk.
Cancel
Cancels the settings.

Backup tab
This tab allows you to back up your system's database for archiving.

Backup Realm DB
Backups JReport Server's realm database to an archive. Click the Browse button to specify a file path to store
the backup archive.
With External Data
If it is checked, the external data bound with the database will also be archived. Otherwise, only the database
will be archived.
Backup
Begins the backup process.

Archive tab
This tab allows you to archive the result version data in an archive file.
Archive Result Version Data
● Data Scope
Displays the result version data range.

● Records Count
Displays the number of sets of result version data in the database.

● Move to Archive Data Before


Specifies the range of data that you want to archive. The range is defined using date, for example, you can
archive data before a certain date. Click the Browse button to specify the file path for storing the archived
data.

● Archive
Begins the archiving process.

Restore Result Version Data


After data has been saved to an archive file, you then have the option to restore it.
● Restore from Archive
Specifies the archive file that contains the archived result version data. Click the Browse button to specify
the archive file.

● Restore
Begins the restoring process.

Summary tab
This tab allows you to view the archive files' summary information.

Archive
Specifies the name of the archive from which you want to retrieve summary information. Click the Browse
button to specify the archive.
Summary
Begins the summary process and returns summary information about the specified archive.

Realm DB Check tab


This tab allows you to clear invalid resource nodes from JReport Server.
Check
Checks whether there are any resource nodes that have lost external data. If any corresponding files (the
resource's external data) have been manually deleted, the resource nodes will become invalid. Invalid nodes
should be cleared from JReport Server.
Invalid Dynamic Nodes
Displays all invalid resource nodes in the database.
Delete
Deletes the specified invalid resource nodes.
Cancel
Cancels the operation.

Related topics:
● Managing server data
Profiling DB panel
This panel is displayed when you click Data on the system toolbar of the JReport Administration page and
then select Profiling DB from the drop-down menu. It allows you to manage server data, such as configuring
your profiling database, backing up server data, archiving/restoring server data, and viewing backup and
archive files' summary information.
The following are tabs contained in the panel:
● Configuration tab

● Backup tab

● Archive tab

● Summary tab

Select Realm
Before you can manage the profile database, you need to first select a realm from the drop-down list.

Configuration tab
This tab allows you to configure your profiling database to store server data.
Driver Class Location
Specifies the path of the JDBC driver. It can be null, which means that JReport Server will load the driver
from the VM's class path. Click the Browse button to specify the location for the driver class.
Driver
Specifies the name of the JDBC driver.
URL
Specifies a valid URL that can be used to establish a connection to your database. For the valid format of the
URL, refer to the handbook of the specific driver.
User
Specifies the JDBC user name for connecting to the database.
Password
Specifies the user password.
Test
Tests whether the JDBC configuration works.
Update
Updates the JDBC configuration and saves it to disk.
Cancel
Cancels the settings.

Backup tab
This tab allows you to back up your system's database for archiving.

Backup Profiling DB
Backups JReport Server's profiling database to an archive. Click the Browse button to specify a file path to
store the backup archive.
Backup
Begins the backup process.

Archive tab
This tab allows you to archive the result version data in an archive file.
Archive Profiling Data
● Data Scope
Displays the result version data range.

● Records Count
Displays the number of sets of result version data in the database.

● Move to Archive Data Before


Specifies the range of data that you want to archive. The range is defined using date, for example, you can
archive data before a certain date. Click the Browse button to specify the file path for storing the archived
data.

● Archive
Begins the archiving process.

Restore Profiling Data


After data has been saved to an archive file, you then have the option to restore it.
● Restore from Archive
Specifies the archive file that contains the archived result version data. Click the Browse button to specify
the archive file.

● Restore
Begins the restoring process.

Summary tab
This tab allows you to view the archive files' summary information.

Archive
Specifies the name of the archive from which you want to retrieve summary information. Click the Browse
button to specify the archive.
Summary
Begins the summary process and returns summary information about the specified archive.

Related topics:
● Managing server data
DHTML Profile dialog
This dialog is displayed when you click the New Profile link in the Profile > Configure DHTML Profile > Features
tab on the JReport Administration page. It helps you to create profiles for applying in running report sets in
DHTML.

DHTML Profile Name


Specifies the name for the new profile.
Description
Specifies information about the new profile.
Basic tab
In this tab, you can turn on/off the required basic DHTML features for the profile.
● Save
Specifies to enable the Save feature which allows you to save the report set result as a version.
● Save as
Specifies to enable the Save As feature which allows you to save the current report set as another file.

● Filter
Specifies to enable the Filter feature, which allows you to filter report data according to your filter conditions.

● Sort
Specifies to enable the Sort feature, which allows you to sort records in the data buffer by certain fields.

● Export
Specifies to enable the Export feature, which allows you to export your report set result for exchange
purposes.

● Printable Version
Specifies to enable the Print feature, which allows you to print the report data.

● Search
Specifies to enable the Search feature, which allows you to search for the required data in a report.

● Style
Specifies to enable the Style feature, which allows you to use styles in your report.

● Zoom
Specifies to enable the Zoom feature, which allows you to zoom in on your report.

● Change Skin
Specifies to enable the Change Skin feature, which allows you to change the skin of the DHTML window.

● Go to
Specifies to enable the Go to feature, which allows you to select to show certain groups of records in a
banded object.

● Open
Specifies to enable the Open Report feature, which allows you to open/hide some reports in a report set.

● Refresh
Specifies to enable the Refresh feature, which allows you to reload the report data.

● Reset
Specifies to enable the Reset feature, which allows you to reset your DHTML window and load page defaults.

● Undo/Redo
Specifies to enable the Undo/Redo feature, which allows you to undo/redo previous operations.

● Navigation
Specifies to enable the Navigation feature, which allows you to navigate through the report pages.

● Page Setup
Specifies to enable the Page Setup feature, which allows you to set page properties.

● Max Records
Specifies to enable the Max Records feature, which allows you to set the maximum number of records
retrieved by all components in the report.

● Help
Specifies to enable the Help feature, which allows you to access the index page of JReport Viewer help
documents with the Help button.

Advanced tab
In this tab, you can turn on/off the required advanced DHTML features for the profile.
● Query Filter
Specifies to enable the Query Filter feature, which allows you to apply a filter a the business/report cube by
certain component.

● To Chart
Specifies to enable the To Chart feature, which allows you to turn a crosstab to a chart.

● To Crosstab
Specifies to enable the To Crosstab feature, which allows you to turn a chart to a crosstab.

● Rotate
Specifies to enable the Rotate feature, which allows you to rotate the selected crosstab.

● Split
Specifies to enable the Split feature, which allows you to split a cell in a tabular.

● Merge
Specifies to enable the Merge feature, which allows you to merge several cells in a tabular.

● New
Specifies to enable the New Report feature, which allows you create a new report using a DHTML window
with existing queries.

● Editing Marks
Specifies whether or not to enable the Editing Marks feature, which allows you to show or hide the dashed
borders of some components and the report body. If the feature is disabled, the editing mark will not be
shown when a report object receives focus, and report objects cannot be moved or resized.

● Chart Type
Specifies to enable the Chart Type feature, which allows you to change the type of a chart.

● Insert/Remove
Specifies to enable the Insert/Remove feature, which allows you to insert/remove objects in a report.

● Grid
Specifies to enable the Grid feature, which helps you in laying out objects in a report.

● Pivot
Specifies to enable the Pivot feature, which allows you to change the structure of a table, and crosstab, for
example, you can change the order of group levels in a table/crosstab, change the order of columns in a
table, and so on.

● Resize
Specifies to enable the Resize feature, which allows you to resize an object.

● Move
Specifies to enable the Move feature, which allows you to change the position of an object.

● Resource View
Specifies to enable the Resource View feature, which allows you to insert a cube element into your report.

● Toolbox
Specifies to enable the Toolbox feature, which allows you to use the Toolbox to insert a component into your
report.

● Drill
Specifies to enable the Drill feature, which allows you to select to show certain groups of records in a
crosstab.

Function Visibility tab


In this tab, you can show or hide the required DHTML window elements for the profile.
● User Information Bar
Specifies to enable the User Information Bar feature. With this feature enabled, you may view information
about the user, catalog, and report set by clicking the User Information button in JReport Viewer.
● Report Set Bar
Specifies to enable the Report Set Bar feature. This feature allows you to specify whether to show the report
set bar.

● Toolbar
Specifies to enable the Toolbar feature.

● Menu
Specifies to enable the Menu feature, which allows you to access DHTML features by providing you with menu
commands.

● Table of Contents
Specifies to enable the Table of Contents feature, which allows you to navigate around in the report using the
TOC Browser.

● Right-click Menu
Specifies to enable the Right-click Menu feature. If this feature is enabled, you can further specify the
commands on the right-click menu.
❍ Display Name
Specifies to show the object display name on the right-click menu.

❍ Filter
Specifies to show the Filter command on the right-click menu, which allows you to filter report data
according to your filter conditions.

❍ Sort
Specifies to show the Sort command on the right-click menu, which allows you to sort records in the data
buffer by certain fields.

❍ Go to
Specifies to show the Go to command on the right-click menu, which allows you to select to show certain
groups of records in a banded object.

❍ Drill
Specifies to show the Drill command on the right-click menu, which allows you to select to show certain
groups of records in a crosstab.

❍ Show/Hide
Specifies to show the Show/Hide command on the right-click menu, which allows you to show/hide the
selected object.

❍ Rotate
Specifies to show the Rotate command on the right-click menu, which allows you to rotate the selected
crosstab.

❍ Reset
Specifies to show the Reset command on the right-click menu, which allows you to reset your DHTML
window and load page defaults.

❍ Refresh
Specifies to show the Refresh command on the right-click menu, which allows you to reload the report data.

❍ Search
Specifies to show the Search command on the right-click menu, which allows you to search for the required
information in a report.

❍ Chart Type
Specifies to show the Chart Type command on the right-click menu, which allows you to change the type a
chart.

❍ To Chart
Specifies to show the To Chart command on the right-click menu, which allows you to convert a crosstab to
a chart.

❍ To Crosstab
Specifies to show the To Crosstab command on the right-click menu, which allows you to convert a chart to
a crosstab.

❍ Link Report
Specifies to show the Link Report command on the right-click menu, which allows you to open the linked
report.

❍ Detail Report
Specifies to show the Detail Report command on the right-click menu, which allows you to open the detail
report.

❍ Delete
Specifies to show the Delete command on the right-click menu, which allows you delete the selected object
from a report.

❍ Query Filter
Specifies to show the Query Filter command on the right-click menu, which allows you to apply a filter to
the business/report cube used by the selected component.

❍ Expand Data
Specifies to show the Expand Data command on the right-click menu, which allows you to expand data of a
crosstab or group.

❍ Properties
Specifies to show the Properties command on the right-click menu, which allows you to configure the
properties of the selected object.

❍ Style
Specifies to show the Apply Style command on the right-click menu, which allows you to apply a style to
the selected component.

Select All
Has all options in the current tab checked.
Select None
Has all options in the current tab unchecked.
OK
Finishes creating the profile and leaves the dialog.
Cancel
Cancels creating the profile and leaves the dialog.
Help
Displays this help document.
Edit Expression dialog

The dialog is displayed when you click the button in the Expression dialog. It provides some built-
in functions of the Date/Time type for you to edit a template expression to create your own expression.

The current expression is displayed at the top of the dialog. Edit it directly in the text field. If required,
you can insert a function into the expression by double-clicking it from the built-in function list below.
For details about the functions, see Date/Time in the Formula Reference chapter of the JReport
Designer User's Guide.
OK
Saves the expression and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Encrypt dialog
This dialog is displayed when you click the Setting button next to the Encrypt option while configuring
settings for advanced running/publishing a report set in PDF format.

The following are details about the options in the dialog:


Compatibility
Specifies the encryption type from the two types that are provided here in order to encrypt a PDF
document. The option Acrobat 3.0 and later uses a low encryption level (40-bit RC4), while the other
option Acrobat 5.0 and later uses a high encryption level (128-bit RC4).
Encryption Level
Shows the level of the encryption compatibility that you specified in the Compatibility drop-down list.
Require a password to open the document
Specifies the Document Open Password to prevent others from opening the document without
authorization.
● Document Open Password
Specifies the password to prevent others from opening the document without authorization.

● Confirm Password
Confirms the password you have specified in the Document Open Password text box.

Use a password to restrict printing and editing of the document and its security settings
Specifies the Permission Password to prevent others from printing and editing the document. The
password you specify here cannot be the same as the one that you use to open the document.
● Permissions Password
Specifies the password to prevent others from printing and editing.

● Confirm Password
Confirms the password you have specified in the Permissions Password text box.

● Printing Allowed
Specifies the printing quality for the PDF document.

● Changes Allowed
Specifies the editing actions that are permitted in the PDF document.

Enable copying of text, images and other content


Allows others to select and copy the contents of the PDF document.
Enable text access for screen reader devices for the visually impaired
Allows visually impaired users to read the PDF document with window readers. This option is available
only if the Compatibility option is set to Acrobat 5.0 or later Acrobat version.
OK
Saves the settings and exits the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.
Enter Values dialog

The dialog is displayed when you click the button while specifying parameter values. It helps you
to specify multiple values for a parameter.

Available Values
Lists all predefined parameter values for selection. When the parameter is bound with a column, but
the Display Column is different from the Bind Column, values of the Display Column are listed here.
Selected Values
Lists the values selected. The selected values are case sensitive.

Adds the selected values from the Available Values box to the Selected Values box.

Removes the selected values from the Selected Values box.

Adds all the selected values from the Available Values box to the Selected Values box.
Removes all the selected values from the Selected Values box.
Enter Values
This option is available when the parameter's Allow Type-in of Value property is set to true in JReport
Designer.
Enter a value manually in the text box and then click the button next to add the value to the Selected
Values box. When the parameter is bound with a column, but the display column is different from the
bind column, make sure the value you enter is that of the bind column.
All
If selected, it means that the parameter value result is all the values in the DBMS. This option is
available when the parameter's Enable the "All" Option property is set to true in JReport Designer. This
is translated in SQL to remove the parameter which may select more values than listed in the available
values list.
For example, when the parameter query is:
SELECT CUSTOMERS.CUSTOMERID,CUSTOMERS.CUSTOMERNAME FROM CUSTOMERS where CUSTOMERS.
CUSTOMERID>0 and CUSTOMERS.CUSTOMERID<4

When you click to add 1, 2 and 3 as the parameter values, which are all the available values, the
SQL is:
(CUSTOMERS.CUSTOMERID IN ( 1,2,3))

Run the same report again and this time check the All checkbox in the Enter Values dialog, the query is
then:
( 1 = 1)

In this case, you will get more customers even though available values are only 1 – 3.
Note: When a multi-value parameter is inserted as a field into a report and All is selected as the value,
the field will show the string "All" which represents all the values in the DBMS.
OK
Applies the selected values to the parameter and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Expression dialog
The dialog is displayed when you click the button while specifying parameter values of Date,
DateTime, or Time format. It helps you to specify a dynamic date or time parameter value with
expression.

Template
Specifies the expression template on which to edit your expression.
Expression
Displays the expression. You can edit it directly in the text box to create your own expression.


Opens the Edit Expression dialog, which provides some built-in functions of the Date/Time type for
you to edit a template expression.

Result
Displays the value result based on the specified expression, or gives error information if the expression
is not correct.
OK
Sets the expression as the parameter value.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Note: The expression function does not support binding-column parameters or multi-value parameters.
Folder Properties dialog
You can set the properties of a selected folder in its Properties dialog according to your requirements.
The Properties dialog is divided into the following two tabs:
● General

● Permission

Reset
Discards your modifications and restores the dialog to its default status.
OK
Retains the settings and submits the task to server.
Cancel
Cancels any settings and closes the dialog.
Help
Displays this help document.

General tab
Specifies the general properties of the folder.
Resource Path
Shows the resource path.
Resource Node Name
Specifies the name for the folder.
Resource Type
Shows the type of the resource.
Resource Description
Specifies description of the folder.
Resource Real Path
Specifies the real path of the folder. This option is disabled in cluster environment.
Last Modified
Shows the last time the folder was modified. This option is available when the Properties dialog is accessed from the JReport
Administration page.
Enable Resources from Real Paths
Specifies whether or not to enable getting resources from the folder real path. Once checked, it is required that you specify a
real path in the Resource Real Path field. This option is disabled in cluster environment.
Note: This option can only be checked when the Enable Resources from Real Paths option in the Configuration > Advanced
panel on the JReport Administration page has also been checked.
[Custom Field Name]
Specifies value of the custom field for the folder. A custom field can be regarded as a resource property and is available when
it is enabled.
Enable Linked Catalog
Enables to link the folder with a catalog.
If you have specified a linked catalog for the folder, then the report sets and sub folders resided in the folder can inherit the
linked catalog from the folder once their Enable Linked Catalog property is enabled.
If this option is unchecked, the report sets and sub folders resided in the folder cannot inherit linked catalog.
● Use Specified
Links the folder with a catalog in the server resource tree.
❍ Select Another Catalog
Specifies another catalog in the Select Another Catalog dialog.

● Use Inherited
Links the folder with the linked catalog inherited from its parent folder or from the server level if the folder is My Reports or
Public Reports. Note that if the parent level does not enable linked catalog, you are not allowed to check this option.

Apply Archive Policy


Applies an archive policy to resource versions in the folder.
● Archive as New Version
Specifies to use multiple versions for the resources. Available only for versions in the resource tree.
❍ Maximum Number of Versions
Specifies the maximum version amount that will be listed in the version table. By default the version amount is unlimited.

● Replace Old Version


Specifies to replace the old version when a new version is generated.

Permission tab
Specifies permissions of roles/users/groups to the folder. This tab is available when the folder is in the Public Reports folder.
Enable Setting Permissions
Enables the setting of permissions.
Available
Lists the roles/users/groups to which you can assign permissions.
● Role
If checked, all roles will be displayed in the Available box for you to assign permissions.

● User
If checked, all users will be displayed in the Available box for you to assign permissions.

● Group
If checked, all groups will be displayed in the Available box for you to assign permissions.

Adds the selected roles, users or groups to the Selected box.

Removes the selected roles, users or groups from the Selected box.
Selected
Displays the roles, users and groups to which the permissions will be assigned.
● Visible
Specifies whether to give the selected role/user/group the Visible permission.

● Read
Specifies whether to give the selected role/user/group the Read permission.

● Write
Specifies whether to give the selected role/user/group the Write permission.
● Delete
Specifies whether to give the selected role/user/group the Delete permission.

● Execute
Specifies whether to give the selected role/user/group the Execute permission.

● Schedule
Specifies whether to give the selected role/user/group the Schedule permission.

● Grant
Specifies whether to give the selected role/user/group the Grant permission. Users, groups or roles that have obtained the
Grant permission are also endowed with the other seven permissions - Visible, Read, Write, Delete, Execute, Schedule, and
Update Status, and can grant these seven permissions except the Grant permission itself.

● Update Status
Specifies whether to give the selected role/user/group the Update Status permission.
Global NLS dialog
This dialog is displayed when you click Reports > Global NLS on the JReport Administration page. It helps you to create global NLS
resources which can be used globally for all report sets in both JReport Server and JReport Designer.

Language
Specifies the languages into which the display text will be translated.

Opens the Select Language Source dialog to choose where to add a language.

Removes the selected language from the Language box.


Display tab
Specifies the translation version of the display text in the target language.
● Search
Searches for the Key and Translation items that match the search condition in the Search text box. Here you are not allowed to
search wildcards. The results will be paged and listed in the table below.


Displays the current page number. You can also input a page number in the page box and press Enter on the keyboard to go to
that page.

Goes to the first page.


Goes to the previous page.


Goes to the next page.


Goes to the last page.


Specifies how many lines will be displayed in each page.

● Checkbox
Specifies to select the display item. Check the checkbox on the column header to select all the items.

● Type
Specifies the type of display text for different objects.
❍ Label
Type of display text of label and some web controls.

❍ Column
This type is only for DHTML. It is the type of display text of columns.

❍ Prompt
Type of display text of parameter prompt value.

❍ TOC
Type of display text on the TOC tree.

● Key
Lists keys to indicate the objects in the original language.

● Translate
Specifies to which the display text will be translated in the target language.


Specifies to add a new row of display for the target language.


Specifies to remove the selected rows of display for the target language.

Font tab
Specifies font properties for the target language.
● Checkbox
Specifies to select the font item. Check the checkbox on the column header to select all the items.

● Key
Specifies keys to indicate the fonts in the original language. Choose from the drop-down lists the font face and font size for the
key.

● Font Face
Specifies the font face for the key in the target language.

● Font Size
Specifies the font size for the key in the target language.
❍ Use Relative Font Size
Specifies to use a relative font size, which means the font size can be adjusted according to the font size settings in the web
browser.


Specifies to add a new row of font for the target language.


Specifies to remove the selected rows of font for the target language.

OK
Applies the settings and closes the dialog.
Cancel
Cancels the settings and exits the dialog.
Help
Displays this help document.
New Cache dialog for scheduling
The dialog is displayed when you click the OK button in the New Cache dialog for selecting queries. It helps you
to define the updating policy of the data caches created based on the selected queries.
This dialog contains the tabs listed below. Set the settings in each tab according to your requirements.
● General tab

● Conditions tab

● Notification tab

● Duration tab

Back
Goes back to the previous tab.
Next
Goes to the next tab.
Finish
Applies the settings.
Cancel
Cancels any settings and returns to the New Cache dialog for selecting queries.

Help
Displays this help document.

General tab
Before you can schedule a CRD task, you first need to configure the settings in this tab.
Enter Parameters section
Specifies the parameter values for the listed query resources.
Select Query
Lists all the query resources you selected in the New Cache dialog for selecting queries. Select a query resource
from the drop-down list and then specify the parameter values for it in the Enter Parameters section below if
required.
Enter Parameters
Specifies values of the parameters applied in the selected query resource. If the query resource does not have
parameters, "No Parameter Needed" will be displayed here.
You may specify parameter values in the following ways:
● In the parameter value combo boxes input the values manually or select them from the drop-down lists.

● Click the button , which is available when the parameter's Allow Multiple Values property is set to true
in JReport Designer. Specify multiple values in the Enter Values dialog.
● If the parameter is of DateTime type, click the calendar button to set a DateTime value using the
calendar.

● If the parameter is of Date, DateTime, or Time type, check the checkbox ahead of the button and then
click the button to specify a dynamic date or time parameter value using an expression in the Expression
dialog.

If no parameter values are specified, the default values will be applied.

Cached Report Data Info section


Specifies the data cache information.
Name
Displays the name of the selected query resource. It is also used as the name of the new data cache.
Data Source
Displays the data source name.
Catalog
Displays the catalog information. The latest version is used by default.
Type
Displays the type of the query resource.
Priority
Specifies a priority level to the scheduling task. The priority levels are from 1 to 10 in ascending order of lowest
priority to highest priority. This property is available to administrators. By default this property is ignored
unless server.properties is modified to set queue.policy not equal to 0.

Advanced section
Configures some advanced settings.
Connect to [Data Source Name]
Specifies the DB user and password with which you want to connect to the data source.
● Use the DB user and password defined in catalog
If checked, the DB user and password defined in the catalog will be used.

● Use the DB User


If checked, specify another DB user and password instead of the one defined in the catalog.

Add TaskListener to be Invoked


Enables you to call the Java application before/after viewing or when scheduling the task.
Enable Auto Recover Task
Specifies to enable the task to be auto recovered.
● Maximum Retry Times
Specifies the maximum number of times in which to retry running the task in order to recover it.

● Retry Interval
Specifies the interval between retries.

● Recreate All Results


Specifies whether to recreate all or just the failed results.

Conditions tab
The Conditions tab allows you to specify the conditions for the task. It contains the following two sub tabs:
● Time tab

● Trigger tab

Time tab
The Time tab allows you to set settings for specifying the time for when a task is to be performed.

Time Zone
Specifies the time zone.
Time Type
Specifies the time type of the task.
● Run this task immediately
Performs the task as soon as you submit it.
❍ Expires
Specifies when the task expires.
■ Never
The new task never expires.

■ At
Specifies a certain time on a selected day when the task expires.

■ After
Specifies a time period after that the task expires.

● Run this task at


Specifies the time for when the task is to be performed once.
❍ Date
Specifies the date for when the task will be run. You can specify the date by clicking the calendar button
.

❍ Time
Specifies the time for when the task will be run.

❍ Run missed task upon Server restart


Specifies to run missed tasks when you restart the server.

● Run this task periodically


Specifies the time for when the task is to be performed on a repeated basis.
❍ Do not start schedule until the report is requested
This option is used to freeze the way of automatically performing the schedule and change it to the
schedule being fired upon certain condition.
If the option is not checked, the schedule will be performed automatically according to the time condition.
If the option is checked, the schedule will be fired only upon the first report running request based on the
query after each scheduled time.

❍ Duration
■ Run after
Specifies the start date and time of the period during which the task is to be performed on a repeated
basis.

■ Run until
Specifies the end date and time of the period during which the task is to be performed on a repeated
basis.

❍ Date
Specifies the date for when a task is to be performed.
■ Daily
Performs the task every one day, two days, etc., or every weekday (from Monday to Friday).

■ Weekly
Performs the task every one week, two weeks, etc., and on Sunday, Monday, Tuesday, etc.

■ Monthly
Performs the task every one month, two months, etc., on the first day, second day, etc., or on the first
Sunday, Monday, etc.
❍ Time
Specifies the exact time for when a task is to be performed on a selected day.
■ At
Specifies a certain time for when to perform a task on a selected day.

■ Hourly
Performs the task every one hour, two hours, etc., at a certain minute on a selected day.

■ Minutely
Performs the task every one minute, two minutes, etc.

❍ Expires
Specifies the expiration time for how long to keep the scheduled data caches.
■ Never
The data caches will not expire.

■ At
Specifies a certain time when the data caches will expire.

■ After
Specifies a period of time after which the data caches will expire.

❍ Run missed task upon server restart


Specifies to run missed tasks when you restart the server.

Trigger tab
The Trigger tab allows you to set settings for specifying a trigger for the task.

Select a trigger to bind


Specifies the trigger from the drop-down list for the task.
Create New
Creates a new trigger.
● Trigger Name
Specifies the name of the trigger.

● Conflict Check
Checks if the name has been used for another trigger.
● Description
Specifies the description of the trigger (if required).

● OK
Creates the trigger with the specified information.

● Cancel
Cancels the trigger creating process.

Logic with time condition


Specifies the logic between time condition and trigger condition.
● Trigger Only
Performs the task only when the trigger fires.

● Trigger and Time Condition


Performs the task when both time condition and trigger condition are ready.

Notes:
❍ No matter which condition is ready, the task can only be performed when its counterpart is ready.

❍ If you specify the task to be performed at a specific time, you must check the checkbox Run missed
task upon Server restart, otherwise the task will be regarded as expired and will be deleted when the
time condition is ready before the trigger condition.

● Time Condition after Trigger


Performs a task when both the time condition and the trigger condition are ready. The trigger condition must
be ready before the time condition. If the time condition is ready before the trigger condition, the task will be
regarded as expired and will be deleted.

● Time Condition or Trigger


Performs the task when either the time condition or the trigger condition is ready.

Notification tab
The Notification tab allows you to notify someone by e-mail when a task has finished running, regardless of
whether it was successful or unsuccessful.
When task is successful
Specifies to send an e-mail when the task is successful.
When task fails
Specifies to send an e-mail when the task is unsuccessful.
To
Specifies the address you want to send the e-mail to.
Cc
Specifies the address you want to copy to.
Bcc
Specifies the address you want to secretly copy to.
Subject
Specifies the subject of the e-mail.
Comments
Specifies the contents of the mail or comments to the contents.

Duration tab
This tab is available only when you have enabled the task-level timeout mechanism either by setting the task.
duration.enable property to true in the server.properties file or by checking the Enable Task Duration option in
the Configuration > Advanced panel on the JReport Administration page.
In this tab, you can specify a time duration for a task, and ask JReport Server to cancel the task or to notify
you or someone else of the task status via e-mail if the task has not yet finished running when the task
duration is up.

The following are the available options:


Timeout
Specifies the time duration for the task.
Notify by e-mail after the specified time
Sends an e-mail about the task information when the specified time is up.
● Mail To
Specifies the e-mail address of the recipient.

Cancel the task after the specified time


Cancels the task when the specified time is up.
New Cache dialog for selecting queries
The dialog is displayed when you click the New Cache link in the Cached Data > Cached Report Data
panel on the JReport Administration page. It helps you to select queries which you will create data
caches for.

Select a Folder
Specifies the folder in the server resource tree that contains the required catalog. You can click the

button to open the Select Folder dialog for selecting the folder.

Select a Catalog
Specifies the catalog in the folder.
Select Queries
Lists the selected queries.


Opens the Select Queries dialog to select the queries that you are going to create data caches for.


Removes the selected queries.

OK
Redirects to the New Cache dialog for scheduling.

Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
New Custom Field dialog
This dialog is displayed when you click the New Custom Field link in the Configuration > Custom Field
panel on the JReport Administration page. It is used to create user defined fields which can be used as
resource properties.

Custom Field Name


Specifies the name for the custom field.
Field Description
Specifies a description for the custom field.
Enabled
Specifies whether to enable the custom field. The enabled custom fields are available for showing in the
resource properties.
OK
Creates the custom field and exits the dialog.
Cancel
Cancels operations and closes the dialog.
Help
Displays this help document.
New Group dialog
This dialog is displayed when you click the Create a New Group link in the Security > Group panel on
the JReport Administration page.

Group Name
Specifies the name for the new group. The group name can contain comma, full stop and blank space.
Parent Group Name
Specifies the parent group for the new group.
Description
Specifies the description for the new group.
Privileges
Specifies whether the new group has the following privileges:
● Publish
The privilege of publishing resources to JReport Server.

● Advanced Properties
The privilege of viewing advanced version properties information, such as catalog connections and
report set related resources.

OK
Creates a group with the information you have specified.
Cancel
Cancels operations and closes the dialog.
New Realm dialog
This dialog is displayed when you click the Create a New Realm link in the Security > Realm panel on
the JReport Administration page.

Realm Name
Specifies the name of the new realm.
Scheme
Specifies the scheme of the new realm. It can be one of the following:
● Basic Authentication
Specifies to use the Base64 method (re-conversion is easy).

● Digest Authentication
Specifies to use the MD5 digest method (re-conversion is impossible).

OK
Creates a realm with the information you have specified.
Cancel
Cancels all operations and closes the dialog.
New Role dialog
This dialog is displayed when you click the Create a New Role link in the Security > Role panel on the
JReport Administration page.

Role Name
Specifies the name for the new role. The role name can contain comma, full stop and blank space.
Parent Role Name
Specifies the parent role for the new role.
Description
Specifies the description for the new role.
Privileges
Specifies whether the new role has the following privileges:
● Publish
The privilege of publishing resources to JReport Server.

● Advanced Properties
The privilege of viewing advanced version properties information, such as catalog connections and
report set related resources.

OK
Creates a role with the information you have specified.
Cancel
Cancels operations and closes the dialog.
New Schedule dialog
This dialog is displayed when you click New Schedule on the task bar of the My Tasks page on the JReport
Console page. It helps you to create a new schedule task.

Select Report to Create Schedule


Specifies to create the schedule task on an existing report set.
● Report in
Displays the folder path.

● Select a Folder
Specifies the folder in which the report set is.

● Select a Catalog
Specifies the catalog file in which the report set is.

● Select a Report
Specifies the report set on which the schedule task will be created.

Import Script to Create Schedule


Specifies to create the schedule task on an imported script file.
● Select Script File
Specifies the script file on which the schedule task will be created. Click the Browse button to select the
script file.

OK
Creates the schedule task.
● If you specify to create the schedule task on an existing report set, when you click OK, the Schedule
dialog will be displayed. Specify the settings according to your requirement to finish the task.

● If the schedule task is created on a script file, when you click OK, the Edit Script dialog will be displayed
for you to further edit the task information imported from the script file.

Cancel
Cancels the operations.
Help
Displays this help document.
New User dialog
This dialog is displayed when you click the Create a New User link in the Security > User panel on the
JReport Administration page.

User Name
Specifies the name for the new user. The user name can contain comma, full stop and blank space.
Full Name
Specifies the full name for the new user.
Description
Specifies the description for the new user.
E-mail
Specifies the e-mail address of the new user.
Password
Specifies the password of the new user.
Confirm Password
Confirms the password by typing it in again.
Account Disabled
If this is checked, the user account will be disabled for the time being.
Password Life
Specifies the validity period of the password.
● Never Expires
The password will not expire.

● Expires in N days
Specifies a period of time during which the password is valid.

Password Length
Specifies the length of the password.
● Permit Blank
Specifies that the password can be blank.

● Minimum Length
Specifies the minimum number of characters that can be used in the password. The number you
specify here should be between 0 and 20.

Privileges
Specifies whether the newly created user has the following privileges:
● Publish
The privilege of publishing resources to JReport Server.

● Advanced Properties
The privilege of viewing advanced version properties information, such as catalog connections and
report set related resources.

OK
Creates the user with the information you have specified.
Cancel
Cancels operations and closes the dialog.
NLS Editor dialog

This dialog is displayed when you click the NLS Editor button in the Control column of a report set on the JReport
Administration page. It helps you to edit NLS for the specified report set.

Report Set
Displays the name of the report set.
Edit Subreport's NLS
Specifies to edit each subreport's NLS.
When you click this button, another dialog will appear showing all the subreports of the current report set. To edit a
subreport's NLS, just click the Edit NLS link for it in the dialog. The method of editing NLS for a subreport is just the
same as that for a primary report.
Catalog
Displays the catalog that the report set uses.
Select Another Catalog
Specifies another catalog for the report set in the Select Another Catalog dialog.

Report Set Version


Specifies the report set version to apply the NLS settings.
Catalog Version
Specifies the catalog version.
Language
Lists the languages into which the display text in the report will be translated. If you cannot find the language you
need, click above the box to add it.

Opens the Add Language dialog to add languages for editing here.

Removes the selected language from the Language box.


Display Tab
Specifies the translation version of every display text in the report set.
● Type
Lists types of display text for different objects.
❍ Label
Type of display text of label and some web controls.

❍ Column
This type is only for DHTML. It is the type of display text of columns.

❍ Prompt
Type of display text of parameter prompt value.

❍ TOC
Type of display text on the TOC tree.

● Key
Lists keys to indicate the objects in the original language.

● Translate
Specifies to which the display text will be translated in the target language.


Adds available display text in the object of the report set for the target language.


Removes the selected rows of display for the target language.

Format tab
Specifies the format for all fields in the report set.
● Key
Displays formats of all fields in the report set in the original language.

● Format
Specifies the format for every field in the report set in the target language.

Adds available formats in the object of the report set for the target language.


Removes the selected rows of format for the target language.

Font tab
Specifies font properties for every field in the report set.
● Key
Lists font face and font size of all fields in the report set in the original language.

● Font Face
Specifies font face for every field in the report set in the target language.

● Font Size
Specifies font size for every field in the report set in the target language.


Adds available fonts in the object of the report set for the target language.


Removes the selected rows of font for the target language.

Fetch from Global NLS


Fetches the translation/properties for the selected display/font items from the target language's global NLS resource
library if there are any.
Add to Global NLS
Specifies to add the selected display/font items to the target language's global NLS resource library. If some of the
items already exist in the global NLS resource library of the target language, the Add to Global NLS dialog will pop up
for you to either replace the existing global NLS translation with a new one or keep the original corresponding global
NLS.
OK
Applies the settings and closes the dialog.
Cancel
Cancels the settings and exits the dialog.
Help
Displays this help document.
Profile dialog
The Profile dialog is available on both the JReport Administration and Console pages. The difference lies
in that any settings you specify in the Profile dialog of the JReport Console page will only be applied to
the current user, while the settings specified on the JReport Administration page will be applied to all
users. However, the profile settings made on the Administration page will not be able to apply to the
Console page whose profile settings have already been saved by clicking the OK button in the Profile
dialog. In this case, if the admin would like the Console page to adopt the same change as the
Administration page, the admin should ask the corresponding end user to make changes on the
Console page directly.
To access this dialog, click Profile on the system toolbar. The dialog contains three subjects:
● Change Password

● Customize Server Preferences

● Configure DHTML Profile

Reset
Resets the settings without refreshing the web pages.
Restore Defaults
Uses the default settings. Available only when the Profile dialog is accessed on the JReport Console
page.
OK
Submits any changes to JReport Server to allow the customizing of your web pages.
Cancel
Cancels the settings.
Help
Displays this help document.
Change Password
This panel allows you to change the password used for logging onto JReport Server. It is available only
when the Profile dialog is accessed on the JReport Console page.

Logged In User's Password


Specifies the password of the currently logged in user.
User ID
Displays the ID of the current user.
New Password
Specifies the new password.
Confirm New Password
Confirms the new password by typing in it again.
Customize Server Preferences
This panel allows you to customize your JReport Server web pages. It contains the following tabs:
● General

● Export Formats

● Advanced

General
Lists the general options for customizing the JReport Server web pages.

Default Format for Viewing Report


Specifies the default format for viewing reports.
If the property Default Format for Viewing Report of a report has been set to a specific format when the report is
designed in JReport Designer, the value in Designer has higher priority than the one here.
Pop-up DHTML Window
Specifies whether to show a DHTML window when you view a report in DHTML format.
Only CSS style can be available in style list
Specifies whether to display only the CSS styles in the style list.
Display the Last Login Time
Specifies whether to display the last login time of a user on the top banner of JReport Server. If checked, the login
time will be recorded in the login.properties file in <install_root>\bin after JReport Server shuts down.

Display the Last Logout Time


Specifies whether to display the last logout time of a user on the top banner of JReport Server. If checked, the logout
time will be recorded in the logout.properties file in <install_root>\bin after JReport Server shuts down.

Keep Completed Tasks for


Specifies for how many days JReport Server will keep the completed tasks in the Completed list. If the value is set to
0, the server will keep the completed tasks until you delete them from the Completed page.
Parameter Display Size
Specifies the display length in characters of the parameters that are to be applied to both the completed and active
schedules.
Folder Selector Type
Specifies the type of the tool used for selecting folder paths from the file system. This option is available on the
Internet Explorer browser and applied to local publishment only.
There are three types of folder selectors:
● JavaScript format
Folder selector is a dialog generated by JavaScript.

● VBScript format
Folder selector is a dialog generated by VBScript.

● JSP format
Folder selector is an HTML page generated by JSP. This format is available to administrators only.

Skin Format
Specifies the skin format applied to JReport Server and JReport Viewer UI. You can choose from Standard, Classical
and Windows XP.
Columns Shown in _ List
Specifies which columns will be displayed as default in the following list when you log onto JReport Server: Reports,
Scheduled, Running, Completed, Background Tasks, Report Set Result Versions, Report Set Versions, Catalog
Versions, and Result Versions.

Export Formats
Customizes the export formats.
● JReport Result
Exports a report set to a result file. Once this option is checked, the following option is available:
❍ Zip Result
Specifies whether to compress the result and make its size smaller.

● DHTML

● HTML

● PDF

● Excel

● Text

● RTF

● XML

● PostScript

● Applet

Advanced
Lists the advance options for customizing the JReport Server web pages.
Enable Waiting Page
Specifies whether to show the waiting pages. Click the Customize button to customize waiting pages in the Customize
Waiting Page dialog. This option is available only when the Profile dialog is accessed on the JReport Administration
page.
Specify Default Language
Specifies an environment language for JReport Server. All UI text and messages will be displayed in the specified
language.
● Reset All Users' Preference
Checking this option will reset all users' default language to the one specified here.

Specify Default Time Zone


Specifies the default time zone for JReport Server. All date on the server UI will then be displayed according to the
specified time zone.
Identify Server Preference
Specifies whether a task can be performed on a manually specified clustered server when scheduling a report. This
option is available only in cluster environment.
Use Accessible Version
Sets the accessible version of JReport Server as the default portal instead of JReport Console page. In the accessible
version, reports are displayed in the HTML format with accessibility attributes, and table/crosstab components are
output as HTML data table. With the help of reader agent end users can navigate through the server resource to view
the target report. See Accessibility for more information.

Enable Saving Parameter Values


Enables saving parameter values for reuse next time when specifying parameter values in order to run reports.
Maximum Number of Auto Complete Parameters List
When specifying parameter values in order to run or schedule to run a report, you can save the specified parameter
values for the report as a list. This option is used to control the maximum number of the saved parameter value lists
for the report.
By default the maximum number is 3. If you change the number to a smaller number, the oldest lists that exceed the
number will be removed.
Configure DHTML Profile
This panel allows you to customize DHTML features according to your requirement. It contains two tabs:
● Features

● Properties

Features
Administrators can define more than one DHTML profile on the JReport Administration page. Then end users can further customize the JReport
Viewer settings for the profiles on the JReport Console page and then select one of the profiles to apply in running reports in DHTML.

Default Profile
Specifies the profile which will be used as the default profile to run report sets in DHTML. End users can only select a profile and view its
settings.
New Profile
Opens the DHTML Profile dialog to create profiles for applying in running report sets in DHTML. Available to administrators only.

Delete
Deletes the selected profile. Available to administrators only.
Profile list
Lists the DHTML profiles that have been created.
● Name
Displays the names of the profiles.

● Description
Displays the descriptions of the profiles.

● Last Modified
Displays the time when the profiles were last modified.

Properties
The properties are classified in two categories: default properties and advanced properties. Some properties are not available when the Profile
dialog is accessed on the JReport Console page. If you want to customize them, log onto the JReport Administration page.
Default properties
Specifies to show or hide certain DHTML window elements. Check the element names to show/hide them. If disabled, the specified window
element will not be shown by default. To show it, click the relevant window buttons or menu commands in JReport Viewer.
● User Information Bar
Specifies to show the User Information bar. This bar is on the top of the JReport Viewer window which shows information about the user,
catalog, and report set.

● Toolbar
Specifies to show a default toolbar.

● Table of Contents
Specifies to show the TOC Browser by default.

● Resource View
Specifies to show the Resource View panel.

● Toolbox
Specifies to show the Toolbox panel.

● Right-click Menu
Specifies to show a shortcut menu when you click the right mouse button.

● Pop Up New Window for Links


Specifies whether to display a new web browser window for the link target, which can be a link report, a detail report, a URL, a chart
hyperlink, or the detailed information created from the go-to-detail function. When defining such links in JReport Designer, if you have
specified Server Setting as the target frame of the links, this option will decide where the corresponding link targets will be displayed.

● Editing Marks
Specifies whether to show editing marks (dashed outlines for objects and report body). If the option is unselected, the editing mark will not
be shown when a report object receives focus, and report objects cannot be moved or resized.

● Pop Up Save Criteria Dialog


Specifies whether to pop up the Save Report Template dialog when you exit a report set which has been changed since it was first opened in
JReport Viewer. A change includes any action taken such as sort, filter and drill as well as actual changes to the template such as adding or
removing objects. By default, this option is checked so the dialog will always pop up. If you uncheck this option, the dialog will not pop up
when changes have been made and all changes will be discarded. The next time the report set is opened, it will be the previous version which
was last saved explicitly or the original published version. A second way to skip the pop up Save Report Template dialog is to create a profile
which does not have the Save option checked and assign the profile to the user or to the report set, then when the user closes the report set
the dialog will not be displayed and the changes will be discarded.

● Save Filter Criteria


Specifies to check the Save Filter Criteria option by default when saving a report set to a report set version or as a new report set.

● Save Sort Criteria


Specifies to check the Save Sort Criteria option by default when saving a report set to a report set version or as a new report set.

● Switch Reports with Tab


Specifies to switch among reports in a report set using report tabs.
By default, this option is unchecked, which means that when a report set contains several reports, you can use the Go To drop-down list on
the toolbar to switch among the reports. In addition, when this option is unchecked, the path for tracing the master/detail report navigation
as well as the drilling and going actions will also be reflected in the Go To drop-down list.

● Show Master Report


Specifies whether to show the master report in the same window when opening a detail report by default. If checked, end users can go back
to the master report by clicking the master report name link. If unchecked, the master report will be closed after the detail report is opened.

● Tool Tips on Toolbars


Specifies to show the tooltips for toolbar commands.

● Always Prompt Query Filter


Specifies to prompt the Query Filter dialog when inserting the first field from the Resource View panel into a blank component.

● Always Prompt to Convert Data Fields


Specifies to prompt the Convert Data Fields dialog when performing data analytic actions on reports, which are created in JReport Designer,
in JReport Viewer.

● Mouse Wheel Turn to Page


Specifies whether to allow using the mouse wheel to scroll up/down reports.

● Always Prompt Whether to Adjust Page Size Automatically


Specifies whether to prompt with a message box when JReport is going to adjust the page size if the width of a table exceeds the defined
page size.

● Zoom
Specifies the zoom ratio at which DHTML pages will be displayed.

● Max Records
Specifies the maximum number of records that will be retrieved by components in the report.

● Browser Page Title


Specifies the title for the DHTML window (displayed on the DHTML window title bar).

● Filter Menu
Specifies which items will be shown on the Filter submenu.
❍ Remove Filter
Specifies to show the Remove Filter item on the Filter submenu.

❍ Top N
Specifies to show the Top N item on the Filter submenu.

❍ Bottom N
Specifies to show the Bottom N item on the Filter submenu.

❍ More
Specifies to show the More item on the Filter submenu.

● Grid
Specifies the grid properties.
❍ Show Grids
Specifies to show grids in JReport Viewer report area.

❍ Snap to Grids
Specifies to snap an object to grids when you move it by dragging and dropping in JReport Viewer report area.

❍ Grid Size
Specifies size of the grids. The default value is 0.07 inches.

❍ Grid Color
Specifies color of the grids. The default value is #808080.

● New Ad Hoc Report


Specifies properties for creating reports in JReport Viewer. This section is available only when a JReport Server Live license is obtained.
❍ Report Layout
Specifies the default report layout when creating a new report in JReport Viewer.

❍ Report Style Group


Specifies the default selected style for the four types of components when creating them via the report wizard in JReport Viewer: table,
crosstab, chart, and banded object. However, when inserting them into a table or banded object which can bind style, the default style type
will be Inherit Style instead of the value specified by this option.
All CSS styles in the <install_root>\style directory are available in the drop-down list.

❍ Customize Group Indent


Specifies to customize the indent of groups created via the report wizard. By default, the indent of the groups is 0 inch. You can also input a
value between 0 and 4 to customize the indent.
If this option is not checked, when you create groups in a report in the report wizard, the groups will be indented according to the width of
the group by fields.

❍ Align Summaries Vertically


Specifies whether to make summaries aligned vertically, which are created via the report wizard and have the same summary function.
Advanced Properties
Specifies to show or hide some advanced DHTML properties. Click on the property names to switch them on/off.

● Advanced User
Specifies to enable DHTML advanced features, such as editing group and report properties from the shortcut menu. In JReport Viewer, some
features are only available for advanced users, including the following:
❍ Advanced users can use a formula to control the value of a property. If a Boolean type property in a report is set to be controlled by a
formula, it will be displayed as a checkbox, with mixed value. This means that this option is currently controlled by a formula.

❍ Editing group and report properties (can be accessed by using the Group and Report command on the shortcut menu).

❍ Modifying the properties of images, special fields, and parameters (can be accessed by using the Properties command on the shortcut
menu).

❍ Further options are available for advanced users, such as the options on the Export and Other tab.

● Auto Refresh
Specifies whether to enable the Auto Refresh feature, which automatically refreshes the DHTML window at certain intervals, so as to make the
server session never time out when any JReport Viewer window is open. The auto refresh time interval equals user session time out minus 16
seconds. When the server session time out is set to be less than 32 seconds, the Auto Refresh feature is disabled.

● Show Group by Name


Specifies whether to show the groups by name in the TOC panel.

● Report Rendering Mode


Specifies a way of running and laying out a report set as the DHTML format. There are in all four rendering modes controlled by the
combination of the two options: View Incomplete Pages and Format Page On Demand.
❍ View Incomplete Pages
■ If selected, fetch data for the required page and then format the page. The contents of the displayed pages may be incomplete for lack of
data integrity and will then be refreshed when their data is ready. The first page will be displayed more quickly.

■ If unselected, fetch all data before formatting report pages. The displayed pages are complete.

❍ Format Page On Demand


■ If selected, format the required pages. The total number of pages will not be known and will show as a + sign.

■ If unselected, format all report pages. This shows the total number of pages but will take longer to show the first page.

● Lock Screen Timeout


Specifies the idle time before the DHTML window is locked.

● Report Timeout
Each open DHTML report is cached in the buffer. If the server has not received a request for a period of time from one DHTML report, it will
then release its memory automatically. The default value for this option is 10800 seconds.
● Report Set Timeout
Each open DHTML report set is cached in the buffer. If the server has not received a request for a period of time from one DHTML report set,
it will release its memory automatically. The default value for this option is 10800 seconds.

● Background Mode Timeout


Specifies the time allowed for a DHTML report set to run in foreground mode. After the Background Mode Timeout has expired, the DHTML
report set will automatically be switched to run in background mode. You can view the DHTML report result by clicking the report name in
the Background Tasks table of the My Tasks page on the JReport Console page, and after the result is opened in a browser, the report task in
the table will be deleted.

● Maximum Number of Open Reports


Specifies the maximum number of DHTML reports that can be opened at the same time. For details, see Limiting the number of
simultaneously open reports.

● Select Catalog Linked Model


If checked, ad hoc end users can decide the relationship between the saved report set and the catalog used to run it when saving a report set
to a different directory in JReport Viewer: either link the saved report set with the catalog, or copy the catalog to the target directory where
the report set is saved.
The two items As Linked Catalog and As Catalog Copy just predefine which corresponding option will be automatically checked in the Save As
dialog of JReport Viewer.

● Show Splash Screen


Specifies whether or not to show the splash screen, which is the JReport logo and displays when you open a DHTML report set.

● Check DHTML Resource Path


Checks the existence of static resources defined in the file ResourcePath.jsp.
Publish to Local Server dialog
The Publish to Local Server dialog guides you through the process of publishing resources to JReport Server locally.

Publish Local Resource to


Shows where the resources will be published to.
Resource Type
Specifies the type of the resources.
From Folder/From File
Specifies where to get the resources. Click the Browse button to specify the location.
Resource Node Name
Specifies the name of the resource. This name is required and is used as the display name of the resource in the server resource
tree.
Resource Description
Specifies the description of the resource (if necessary).
Status
Specifies the status of the report set. If not specified, the status will be Active by default. This option is available for report set type
only.
● Active
The report set can be run, advanced run and scheduled on JReport Server.

● Inactive
The report set cannot be run, advanced run or scheduled on JReport Server.

● Incomplete
The report set is not completely designed and cannot be run, advanced run or scheduled JReport Server.

Resource Real Path


Specifies the real path of the folder. This option is available for folder type only but is disabled in cluster environment.
Enable Resources from Real Paths
Specifies whether or not to enable getting resources from the folder real path. This option is available for folder type only but is
disabled in cluster environment. Once checked, it is required that you specify a real path in the Resource Real Path field.
Note: This option can only be checked when the Enable Resources from Real Paths option in the Configuration > Advanced panel
on the JReport Administration page has also been checked.
[Custom Field Name]
Specifies value of the custom field for the resource. A custom field can be regarded as a resource property and is available when it
is enabled.
Automatically Convert Old Report Set Schema
Specifies whether or not JReport Server converts JReport reports of earlier versions into current version JReport report sets when
publishing the earlier version reports.
Apply Archive Policy
Applies an archive policy to the report result version.
● Archive as New Version
Specifies whether to use multiple versions for the selected resource. Available only for the resources in the resource tree.
❍ Maximum Number of Versions
Specifies the maximum version amount that will be listed in the version table. By default the version amount is unlimited.

● Replace Old Version


Specifies to replace the old version when the new version is generated.

Set Permissions
Available only when the resources are to be published to the Public Reports folder. Click the link to set user permissions to the
resources in the Set Permissions dialog.

Font Directory
Specifies the font directory of the resource. Click the Browse button to specify the directory. Note that only the font used by the
specified resource can be published.
Style Directory
Specifies the style directory of the resource. Click the Browse button to specify the directory.
Advanced Publish
Specifies to publish resources in an advanced way.
● Checkbox
Specifies the resources you want to publish.

● File Name
Displays the file name of the resource.

● Resource Name
Specifies the name of the resource. This name is required and is used as the display name of the resource node in the server
resource tree.

● Description
Specifies the description of the resource (if necessary).

● [Custom Field Name]


Specifies value of the custom field for the resource.
● Advanced
Specifies the advanced properties for the resource, which include the archive policy of the resource, and the user permissions on
the resource if the resource is to be published to the Public Reports folder.

OK
Retains the settings and submits the task to server.
Cancel
Cancels the operations.
Help
Displays this help document.
Publish to Remote Server dialog
The Publish to Remote Server dialog guides you through publishing resources to JReport Server remotely.

Publish Remote Resource to


Shows where the resource will be published.
From Zipped File
Specifies where to get the resource. Click the Browse button to specify the location.
Publish files and folders in the zipped file to /XXX
Specifies whether to publish files and folders in the zipped file to /XXX directly.
When this option is not checked, the following options are available, which specify properties of the new folder you want to create in /
XXX to locate the resources in the zip file.
● Resource Node Name
Specifies the name of the resource node. This name is required and is used as the display name of the resource node in the server
resource tree.

● Resource Description
Specifies the description of the folder (if necessary).

● Resource Real Path


Specifies the real path of the folder. This option is disabled in cluster environment.

● Enable Resources from Real Paths


Specifies whether or not to enable getting resources from the folder real path. Once checked, it is required that you specify a real
path in the Resource Real Path field. This option is disabled in cluster environment.

Note: This option can only be checked when the Enable Resources from Real Paths option in the Configuration > Advanced
panel on the JReport Administration page has also been checked.
● [Custom Field Name]
Specifies value of the custom field for the folder. A custom field can be regarded as a resource property and is available when it is
enabled.

Automatically Convert Old Report Set Schema


Specifies whether or not JReport Server converts JReport reports of earlier versions into current version JReport report sets when
publishing the earlier version reports.
Apply Archive Policy
Applies an archive policy to the report result version.
● Archive as New Version
Specifies whether to use multiple versions for the selected resource. Available only for the resources in the resource tree.
❍ Maximum Number of Versions
Specifies the maximum version amount that will be listed in the version table. By default the version amount is unlimited.

● Replace Old Version


Specifies to replace the old version when a new version is generated.

Set Permissions
Available only when the resources are to be published to the Public Reports folder. Click the link to set user permissions to the
resources in the Set Permissions dialog.

Advanced Publish
Specifies to publish resources in an advanced way.
● Checkbox
Specifies which resources in the zip file you want to publish.

● File Name
Displays the file name of the resource.

● Resource Name
Specifies the name of the resource. This name is required and is used as the display name of the resource node in the server
resource tree.

● Description
Specifies the description of the resource (if necessary).

● [Custom Field Name]


Specifies value of the custom field for the resource.

● Advanced
Specifies the advanced properties for the resource, which include the archive policy of the resource, and the user permissions on the
resource if the resource is to be published to the Public Reports folder.

OK
Retains the settings and submits the task to server.
Cancel
Cancels operations.
Help
Displays this help document.
Report Set Properties dialog
You can set the properties of a specified report set in its Properties dialog according to your requirements.
The Properties dialog is divided into the following two tabs:
● General

● Permission

Reset
Discards your modifications and restores the dialog to its default status.
OK
Retains the settings and submits the task to server.
Cancel
Cancels any settings and closes the dialog.
Help
Displays this help document.

General tab
Specifies the general properties of the report set.

Resource Path
Shows the resource path.
Resource Node Name
Specifies the name for the report set.
Resource Type
Shows the type of the resource.
Resource Description
Specifies the description for the report set.
Status
Specifies the status of the report set. If not specified, the status will be Active by default.
● Active
The report set can be run, advanced run and scheduled.

● Inactive
The report set cannot be run, advanced run or scheduled.

● Incomplete
The report set is not completely designed and cannot be run, advanced run or scheduled.

National Language Support


Specifies whether to enable the NLS feature for the report set. This option is available when the Properties dialog is opened
from the JReport Administration page.
[Custom Field Name]
Specifies value of the custom field for the report set. A custom field can be regarded as a resource property and is available
when it is enabled.
Choose Profile
Specifies the DHTML profile to be applied to run the report set which contains a set of JReport Viewer settings. This option is
available when the Properties dialog is opened from the JReport Administration page.
Enable Linked Catalog
Enables to link the report set with a catalog. If you have linked a report set with a catalog, then even if the report set and the
catalog are not in the same directory, it also can be run with the catalog.
When you background run, advanced run or schedule the report set, the linked catalog is applied instead of the catalog that is
resided in the parent folder and originally used to run the report set. For Advanced Run and Schedule, you can change the
catalog to apply another one using the Select Another Catalog option in the General tab of the corresponding dialog.
● Use Specified
Links the report set with a catalog in the server resource tree.
❍ Select Another Catalog
Specifies another catalog in the Select Another Catalog dialog.

● Use Inherited
Links the report set with the linked catalog inherited from its parent folder. Note that if the parent folder does not enable
linked catalog, you are not allowed to check this option.

Apply Archive Policy


Applies an archive policy to the report set versions.
● Archive as New Version
Specifies whether to use multiple versions for the report set. Available only for versions in the resource tree.
❍ Maximum Number of Versions
Specifies the maximum version amount that will be listed in the version table. By default the version amount is unlimited.

● Replace Old Version


Specifies to replace the old version when a new version is generated.
Permission tab
Specifies permissions of roles/users/groups to the report set. This tab is available when the report set is in the Public Reports
folder.

Enable Setting Permissions


Enables the setting of permissions.
Available
Lists the roles/users/groups to which you can assign permissions.
● Role
If checked, all roles will be displayed in the Available box for you to assign permissions.

● User
If checked, all users will be displayed in the Available box for you to assign permissions.

● Group
If checked, all groups will be displayed in the Available box for you to assign permissions.

Adds the selected roles, users or groups to the Selected box.

Removes the selected roles, users or groups from the Selected box.
Selected
Displays the roles, users and groups to which the permissions will be assigned.
● Visible
Specifies whether to give the selected role/user/group the Visible permission.

● Read
Specifies whether to give the selected role/user/group the Read permission.
● Write
Specifies whether to give the selected role/user/group the Write permission.

● Delete
Specifies whether to give the selected role/user/group the Delete permission.

● Execute
Specifies whether to give the selected role/user/group the Execute permission.

● Schedule
Specifies whether to give the selected role/user/group the Schedule permission.

● Grant
Specifies whether to give the selected role/user/group the Grant permission. Users, groups or roles that have obtained the
Grant permission are also endowed with the other seven permissions - Visible, Read, Write, Delete, Execute, Schedule, and
Update Status, and can grant these seven permissions except the Grant permission itself.

● Update Status
Specifies whether to give the selected role/user/group the Update Status permission.
Result Properties dialog
You can set the properties of a specified result in its Properties dialog according to your requirements.
The Properties dialog is divided into the following two tabs:
● General

● Permission

Reset
Discards your modifications and restores the dialog to its default status.
OK
Retains the settings and submits the task to server.
Cancel
Cancels any settings and closes the dialog.
Help
Displays this help document.

General tab
Specifies the general properties of the result.

Resource Path
Shows the resource path.
Resource Node Name
Specifies the name for the result.
Resource Type
Shows the type of the resource.
Resource Description
Specifies the description of the result.
[Custom Field Name]
Specifies value of the custom field for the result. A custom field can be regarded as a resource property and is available
when it is enabled.
Apply Archive Policy
Applies an archive policy to the result versions.
● Archive as New Version
Specifies whether to use multiple versions for the result. Available only for versions in the resource tree.
❍ Maximum Number of Versions
Specifies the maximum number of versions that will be listed in the version table. By default the number of versions
is unlimited (0).

● Replace Old Version


Specifies to replace the old version when a new version is generated.

Permission tab
Specifies permissions of roles/users/groups to the result. This tab is available when the result is in the Public Reports
folder.

Enable Setting Permissions


Enables the setting of permissions.
Available
Lists the roles/users/groups to which you can assign permissions.
● Role
If checked, all roles will be displayed in the Available box for you to assign permissions.

● User
If checked, all users will be displayed in the Available box for you to assign permissions.

● Group
If checked, all groups will be displayed in the Available box for you to assign permissions.

Adds the selected roles, users or groups to the Selected box.

Removes the selected roles, users or groups from the Selected box.
Selected
Displays the roles, users and groups to which the permissions will be assigned.
● Visible
Specifies whether to give the selected role/user/group the Visible permission.

● Read
Specifies whether to give the selected role/user/group the Read permission.

● Write
Specifies whether to give the selected role/user/group the Write permission.

● Delete
Specifies whether to give the selected role/user/group the Delete permission.

● Grant
Specifies whether to give the selected role/user/group the Grant permission. Users, groups or roles that have
obtained the Grant permission are also endowed with the other seven permissions - Visible, Read, Write, Delete,
Execute, Schedule, and Update Status, and can grant these seven permissions except the Grant permission itself.
Schedule dialog
JReport Server allows you to schedule a report set to run at a specific time and publish the report
result to different formats.
To access the Schedule dialog, on the JReport Console > Reports page, browse to the report set you
want to schedule, then do either of the following:
● Select the row the report set is in, then on the task bar of the Reports page, click Run > Schedule.

● Select the report set row, right-click in the row and select Schedule from the shortcut menu.

● Put the mouse pointer over the report set row and click the Schedule button on the floating
toolbar.

This dialog contains five tabs as listed below. Set the settings in each tab according to your
requirements.
● General tab

● Publish tab

● Conditions tab

● Notification tab

● Duration tab

Back
Goes back to the left tab.
Next
Goes to the right tab.
Finish
Applies the settings.
Cancel
Closes the dialog and discards any changes.
Help
Displays this help document.

Related topics:
● Scheduling report sets with dialog
General tab
Before you can schedule a task, you first need to configure the settings in this tab.
Schedule Name
Specifies the name for the currently scheduled task.
Priority
Specifies a priority level to the report running task. The priority levels are from 1 to 10 in ascending order of lowest priority to
highest priority. This property is available to administrators. By default this property is ignored unless server.properties is
modified to set queue.policy not equal to 0.

Enter Parameters section


Specifies the reports and parameter values.
Select Reports
Specifies the reports you schedule to run. You can select multiple normal reports at a time.
Select Bursting Reports
This option is available when there are bursting reports in the current report set. Select the bursting report you schedule to
run. You can select only one bursting report at a time.
Once you choose to schedule to run a bursting report, you should at least either complete Bursting Configuration for the report
or select Non-bursting result in order to submit the task.
Bursting Configuration
● Select Schema
Specifies the schema you want to apply to the selected bursting report. You can select multiple schemas to apply to the
report.

Non-bursting Result
If checked, the bursting definition will be removed from the report and the result will be generated based on whole data
without data splitting.
Parameters
Specifies values of the parameters applied in the selected reports. If the reports have no parameter, "No Parameter Needed"
will be displayed here.
You may specify parameter values in the following ways:
● In the parameter value combo boxes input the values manually or select them from the drop-down lists.

● Click the button , which is available when the parameter's Allow Multiple Values property is set to true in JReport
Designer, to specify multiple values in the Enter Values dialog.

● If the parameter is of DateTime type, click the calendar button to set a DateTime value with calendar.

● If the parameter is of Date, DateTime, or Time type, check the checkbox ahead of the button and then click the button
to specify a dynamic date or time parameter value with expression in the Expression dialog.

● Check the Use Saved Values checkbox and select a previously saved parameter value list to apply to the reports.
The Use Saved Values option is available when Enable Saving Parameter Values is checked in the Profile > Customize Server
Preferences > Advanced tab. When it is checked, a drop-down list that contains the lists of previously saved parameter
values will be displayed for you to choose one to apply. The button next to the drop-down list is used to delete a saved
list from the list library.

Save Values
This link is available when Use Saved Values is checked. When it is clicked, the currently displayed parameter values set for
the specified report will be saved as a whole marked as a list for reuse next time, and you need to provide a name for the list
in the prompted dialog as required.
If multiple reports are selected in this schedule task, the parameter values specified for all of the reports are saved as a list.
The next time only when these very reports are selected, can the list be available for apply after you select the Use Saved
Values checkbox.
The parameter value lists saved for the selected reports are limited. The maximum number is controlled by the option
Maximum Number of Auto Complete Parameters List in the Profile > Customize Server Preferences > Advanced tab. By default
it is 3. When the number of the saved parameter value lists reaches the maximum number, if you want to save another
parameter list, it will overwrite the oldest list.

Report Set Info section


Specifies the report set information.
Report Set
Lists information about the report set.
Catalog
Lists the catalog information.
Select Another Catalog
Specifies another catalog for the report set in the Select Another Catalog dialog.

Report Set Version


Specifies the report set version when you schedule a task. The default version is always the latest version.
Catalog Version
Specifies the catalog version when you schedule a task. The default version is always the latest version.

Advanced section
Configures some advanced settings.
Enable Style Group
When this option is disabled as default, use the style group properties of the selected reports for corresponding export formats
that are predefined in JReport Designer to do the schedule. These predefined style group properties take effect when
publishing to version/disk/e-mail/FTP.
When this option is enabled, you are allowed to select a style group from the Style Group drop-down list to apply it to all the
selected reports in the report set for all export formats. This setting will cancel all the style group properties of the selected
reports for all export formats that are predefined in JReport Designer and replace them all with the value specified here.
Enable Converting Encoding
Specifies to enable the conversion of encoding. From the Before Converting and After Converting drop-down lists, select
encodings as required.
Enable NLS
Specifies whether to enable NLS for the report set. If checked, the Using Language drop-down list will be displayed for you to
choose a language.
Notes:
● The Enable NLS option is available only when the National Language Support option is checked in the Properties dialog of
the report set on the JReport Administration page.

● If there is no NLS resource defined for the report set, you can only run the report set using the default language.

Encoding
Specifies the encoding of the report set from the drop-down list.
Connect to [Data Source Name]
Specifies the DB user and password with which you want to connect to the data source the report set uses.
● Use the DB user and password defined in catalog
If checked, the DB user and password defined in the catalog will be used.

● Use the DB User


If checked, specify another DB user and password instead of the one defined in the catalog.

Add TaskListener to be Invoked


Enables you to call the Java application before/after viewing or when scheduling the report set.
Specify a preferred server to run the task
Enables you to directly specify a server in a cluster to perform the schedule task instead of using load balancing. This option is
available only when there are more than one active server in a cluster and when the Identify Server Preference option in the
Profile > Customize Server Preferences > Advanced tab is selected.
Enable Auto Recover Task
Specifies to enable the task to be auto recovered.
● Maximum Retry Times
Specifies the maximum number of times in which to retry running the task in order to recover it.

● Retry Interval
Specifies the interval between retries.

● Recreate All Results


Specifies whether to recreate all or just the failed results when you published the task to multiple formats.
Publish tab
The Publish tab allows you to specify the type of the task. There are two main tasks to publish your
report sets: Default Task and User Task. By default, Default task is used to publish the report sets. To
use the User Task, click the User Task link in the Default Task page.
Default Task
If you select Default Task to publish your report sets with, when specifying your task type, you can
choose from the following six sub tasks:
● To Version
Publishes the report result to the versioning system.

● To Disk
Publishes the report result to the file system.

● To E-mail
Publishes the report result to e-mail.

● To Printer
Publishes the report result to a printer.

● To Fax
Publishes the report result to fax.

● To FTP
Publishes the report result to an FTP site.

Note: If you are scheduling a bursting report, the Publish tab will change according to the bursting
setting made in the General tab of the Schedule dialog. For details about the change, see Scheduling a
task containing a bursting report.

User Task
If you select User Task to publish your report sets, you can implement a customized task with schedule
properties.
● User Task Class Name
Specifies the class name for the user task.

● Display Name
Specifies the display name for the user task.

● User Task Properties


Specifies user task properties to define tasks.

● Import User Task Properties from file


Imports a user task from a properties file.

● Upload Properties
Uploads the properties to JReport Server. The properties will be listed in the User Task Properties
area.
To Version
This tab is for you to specify settings for publishing report results to the versioning system.

Publish to Versioning System


Specifies to publish the report result to the versioning system. You can publish the result to the following formats:
● JReport Result
Publishes the report set to a JReport result file.
❍ Zip Result
Specifies to compress the result to reduce the disk size and I/O; however, it uses more CPU resources.
❍ Precision Level
Specifies the precision level with which to publish the report result. Note that changing the default value may cause
abnormalities in report layout.

● DHTML
Publishes the report set to a DHTML result file (RSD file) that can be viewed in a JReport Viewer window. Some reports
cannot be published to version in the DHTML Result format, such as self-contained (CLX) reports, multi-level nested
master and subreports, reports containing data objects, and reports developed from a dynamic query or hierarchical
data source (HDS).
An RSD file is a middle result for DHTML that can preserve data and the working status of the DHTML report and can be
shared with others. Based on the RSD file, you can rebuild a DHTML report to analyze data and to export to other
formats. An RSD file is a standalone working file so all the useful information is added into it, such as catalog, report
template, NLS, data, parameters and security. The security information of an RSD file is the user of the generator that
creates it. When different users open the same RSD, they will get the same result based on the same security
configuration. You cannot refresh a report viewed from an RSD file to refetch data from the database. When the system
rebuilds a report according to the RSD file, it will only load data from the RSD file. When opening a report RSD, you
cannot go back to the actions which the RSD generator took before generating the RSD file but can take actions based
on the current RSD resources.
❍ Zip Result
Specifies to compress the result. The compressed file's suffix will still be .rsd, it's size will be smaller which reduces IO
and disk usage; however, it uses more CPU resources.

❍ Precision Level
Specifies the precision level with which to publish the report result. Note that changing the default value may cause
abnormalities in report layout.

● Studio Result
Publishes the studio report to a static studio report result file (WST file). WST files can be exported to HTML, PDF, Text,
Excel, XML, RTF, and Postscript formats.
❍ Zip Result
Specifies to compress the result to reduce the disk size and I/O; however, it uses more CPU resources.

❍ Precision Level
Specifies the precision level with which to publish the studio report result. Note that changing the default value may
cause abnormalities in report layout.

● HTML
Publishes the report result to the versioning system in HTML format.

● PDF
Publishes the report result to the versioning system in PDF format.

● Excel
Publishes the report result to the versioning system in Excel format.

● Text
Publishes the report result to the versioning system in Text format.

● RTF
Publishes the report result to the versioning system in RTF format.

● XML
Publishes the report result to the versioning system in XML format.

● PostScript
Publishes the report result to the versioning system in PostScript format.

Archive Location
Specifies the location for the saved report result version.
● Built-in Version Folder
Specifies to save the report result version to the built-in version folder.

● My Reports Folder
Specifies to save the report result version to the My Reports folder.
● Public Reports Folder
Specifies to save the report result version to the Public Reports folder.

Apply Archive Policy


Applies an archive policy to the report result version.
● Archive as New Version
Specifies whether to use multiple versions for the specified resource. Available only for resources in the resource tree.
The Maximum Number of Versions option specifies the maximum version number that will be listed in the version table.
By default number of versions is unlimited. When the number of versions is reached, the new version will replace the
oldest version in the resource tree.

● Replace Old Version


Specifies to replace the old version when a new version is generated.

Result Auto-delete
Specifies the deleted date of the result. Set the result to be automatically deleted within one hundred years. If the time
you specify exceeds one hundred years, JReport Server will keep the report result forever.
● Result Expires in N Days
Specifies a period after which the report result will be automatically deleted.

● Result Expires After


Specifies a certain day on which the report result will be automatically deleted.

Set Permissions
Available only when the Archive Location is specified to be Public Reports Folder. Click the link to set user permissions to
the specified reports in the report set in the Set Permissions dialog.
To Disk
This tab is for you to specify settings for publishing report results to the file system.

Publish to Disk
Specifies to publish the report result to the file system.
You can publish the report result to the following formats. For each format, you can decide whether to publish the results
to the server resource tree or to the server disk path. Then you need to type in the blank location field root of the resource
tree or disk path as shown in the examples below:
Example for server resource tree: /SampleReports/report1.rst

Example for server disk path: C:\temp\report1.rst

● JReport Result
Publishes the report set to a JReport result file (RST file).

● DHTML
Publishes the report set to a DHTML result file (RSD file) that can be viewed in a JReport Viewer window.

● Studio Result
Publishes the studio report to a static studio report result file (WST file).

● HTML
Publishes the report result to the file system in HTML format.

● PDF
Publishes the report result to the file system in PDF format.

● Excel
Publishes the report result to the file system in Excel format.

● Text
Publishes the report result to the file system in Text format.

● RTF
Publishes the report result to the file system in RTF format.

● XML
Publishes the report result to the file system in XML format.

● PostScript
Publishes the report result to the file system in PostScript format.

Notes:
● For the JReport Result and DHTML formats, you need only provide one file path because all selected reports in the report
set will be output into one file. For other formats, you need specify a file path for each selected report.

● The files with the extension of .rsd should be opened with JReport Viewer (DHTML) and those with the extension of .rst
should be opened by JReport Server Viewer or Applet.
To E-mail
This tab is for you to specify settings for publishing the report results to e-mail.
Mail To
Lists the e-mail addresses you have sent mail to.
New
Creates a new e-mail.
● From
Specifies your e-mail address.

Note: If you do not specify the address, the e-mail address in the Export > E-mail tab of the
Configuration dialog on the JReport Administration page will be used as the default address.
● To
Specifies the address you want to send the e-mail to.

● Cc
Specifies the address you want to copy to.

● Bcc
Specifies the address you want to secretly copy to.

● Subject
Specifies the subject of the e-mail.

● Comments
Specifies the contents of the e-mail or comments to the contents.

● Encoding
Specifies the encoding of the e-mail.

● Compress Attachment as Java Archive


Specifies whether to compress the mail attachment as Java Archive.

● SMTP Logon Information


Specifies the SMTP logon information.
❍ Account Name
Specifies the account name.

❍ Password
Specifies the password of the account.

❍ E-mail Address
Specifies the e-mail address of the account.

Note: This option can be enabled only when the option Server Requires Authentication is checked in
the Export > E-mail tab of the Configuration dialog on the JReport Administration page.
● E-mail Result in HTML E-mail Format
Sends the report result via e-mail to the specified address in HTML format. The report result will be
shown in HTML format in the mail body.

● E-mail Result in Plain Text E-mail Format


Sends the report result via e-mail to the specified address in plain text format. The report result will be
shown in plain text format in the mail body with no other information such as color, images and so on.
See details about settings of this format.

Notes:
❍ The two formats, E-mail Result in HTML E-mail Format and E-mail Result in Plain Text Format,
cannot be support concurrently.

❍ If you choose to send the mail in E-mail Result in HTML E-mail Format, the comments that you
input for the mail will be overwritten by the report result.

● Attachment in JReport Result Format


Sends the report result via e-mail to the specified address with a JReport result file as attachment.
❍ File Name
Specifies the name for the attachment file.

❍ Zip Result
Specifies to compress the result and its size would be smaller.

❍ Precision Level
Specifies the precision level with which to publish the report result. Note that changing the default
value may cause abnormalities in report layout.

● Attachment in Studio Result Format


Sends the studio report result via e-mail to the specified address with a WST file as attachment.
❍ File Name
Specifies the name for the attachment file.

❍ Zip Result
Specifies to compress the result and its size would be smaller.

❍ Precision Level
Specifies the precision level with which to publish the studio report result. Note that changing the
default value may cause abnormalities in report layout.

● Attachment in HTML Format


Sends the report result via e-mail to the specified address with an HTML file as attachment.

● Attachment in PDF Format


Sends the report result via e-mail to the specified address with a PDF file as attachment.

Note: If the Split PDF options is specified in the Configuration > Export > E-mail tab on the JReport
Administration page, the TOC and Sign options are disabled here.
● Attachment in Excel Format
Sends the report result via e-mail to the specified address with an Excel file as attachment.

● Attachment in Text Format


Sends the report result via e-mail to the specified address with a Text file as attachment.

● Attachment in RTF Format


Sends the report result via e-mail to the specified address with a RTF file as attachment.

● Attachment in XML Format


Sends the report result via e-mail to the specified address with an XML file as attachment.

● Attachment in PostScript Format


Sends the report result via e-mail to the specified address with a PostScript file as attachment.

● OK
Retains the settings and adds the e-mail address into the Mail To list.

● Cancel
Cancels operations.

Edit
Edits the specified e-mail in the Mail To list.
Delete
Deletes the specified e-mail in the Mail To list.
To Printer
This tab is for you to specify settings for publishing report results to a printer.

Publish to Printer
Specifies to publish the report result to a printer.
Select Print Method
Specifies the printing method to print the report result.
Printer
Specifies the name with the path of the printer. You can type it in the box or select it from the drop-down list.
When JDK1.4 is selected in the Select Print Method drop-down list, the following options will be available.
Paper Size
Specifies the paper size.
Print Range
Specifies the pages to be printed.
Copies
Specifies the number of copies you want to print. The number of copies will be applied to all specified pages.
Print to File
Prints the document to a file instead of a printer. This kind of files can only be opened and printed by serial port printer
on Windows via DOS command.
● File Name
Specifies the name of the file to which you print. If no path is provided in the file name, the file will be saved to the
working directory of the server.

Job Attributes
Specifies the properties of the print task.
● Priority
Specifies the print priority for this task.

● Job Name
Specifies the name of the print task.

● User Name
Specifies the name of the user.

Orientation
Specifies the orientation for the printed reports.
● Landscape
Prints your reports in a Landscape orientation.

● Portrait
Prints your reports in a Standard letter orientation.

● Reverse Landscape
Prints your reports in a Reverse Landscape orientation.

● Reverse Portrait
Prints your reports in a Reverse Portrait orientation.

Color Appearance
Specifies to print the reports in Monochrome or in Color.
Print Quality
Specifies the print quality. It can be Draft, Normal, or High.
Print Sides
Specifies the print sides for the printed reports.
● One Side
Imposes each consecutive print-stream page upon the same side of consecutive media sheets.

● Duplex
Imposes each consecutive pair of print-stream pages upon the front and back sides of consecutive media sheets, such
that the orientation of each pair of print-stream pages on the medium is correct for the reader as if for binding on the
long edge.

● Tumble
Imposes each consecutive pair of print-stream pages upon front and back sides of consecutive media sheets, such
that the orientation of each pair of print-stream pages on the medium is correct for the reader as if for binding on the
short edge.

Sheet collate
Specifies the printing order for printing multiple-page reports.
● Collated
If selected, when you print two copies of a three-page report, the page order is 1, 2, 3; 1, 2, 3.
● Uncollated
If selected, when you print two copies of a three-page report, the page order is 1, 1; 2, 2; 3, 3.

Margins
Specifies the paper margins for the printed reports (MM or Inch).
Media Tray
First select a printer, and then from the drop-down list, specify the media tray.
Note: JReport Server cannot obtain information on which options are supported and which are not from your printer
and reflect it on this tab. You should configure the setting according to your printer carefully.
To Fax
This tab is for you to specify settings for publishing report results to fax.

Note that before you can fax the report result, you must have your modem configured, otherwise a warning message will
be displayed.
Publish to Fax
Specifies to publish the report result to fax.
Quality
Specifies the quality of the fax: Best, Normal, and Fast.
Include Cover Sheet
Specifies to send a cover sheet with the fax.
The following items are displayed on the fax cover sheet.
To
Specifies the name of the recipient.
From
Specifies the name of the sender.
Company
Specifies the sender's company.
Date

Specifies the date on which the fax is to be sent. You can specify the date by clicking the calendar button .
Fax Number
Specifies the fax number of the recipient.
Phone Number
Specifies the phone number of the sender.
Re
Specifies the subject of the fax.
Comments
Specifies the comments of the fax.
Urgent
Specifies whether the fax is urgent or not.
For Review
Specifies that the recipient only needs to view the fax.
Please Comment
Specifies that the recipient is required to comment on the content of the fax.
Please Reply
Indicates that a reply is required for the fax.
To FTP
This tab is for you to specify settings for sending report results to an FTP site.

FTP To
Lists the FTP sites you send report results to.
New
Creates a new FTP site.
● FTP Site Name
A user-defined name of the FTP site. It is optional.

● Host Address
The domain name or IP address of the FTP site. It cannot be null.
● Port
The port of the FTP server. It is optional, and by default 21 is used for Standard FTP and Explicit FTPS, 22 SCP and SFTP,
and 990 for Implicit FTPS.

● User Name
The user name is valid to the authentication of the FTP server that can access the FTP site. If not specified, "anonymous"
will be used as the user name by default.

● Password
The password is valid to the authentication of the FTP server that enables the user name to access the FTP site.

● Account
The account of the FTP user if there exists.

● Folder Location
The location where to put the report result files on the FTP server. If not specified, the root path "/" of the FTP server will
be used by default.

● Handler Class
A customized FTP-client handler class can be used instead of the one provided in JReport. You should specify a fully-
qualified class name that is package name plus class name, for example, test.DemoJakartaFTPHandler.

● Protocol Type
Specifies the protocol type used for publising the report results to FTP.
❍ FTP (Standard File Transfer Protocol)
Files are transferred in a non-secure (plain text) style.

❍ SFTP using SSH2 (Secure Shell)


SFTP (Secure FTP) is a component of Secure Shell and is supported by most Unix servers running SSH2. Ask your
server administrator about availability.

❍ SCP (Secure Copy)


This is a means of securely transferring computer files between a local and a remote host or between two remote
hosts, using the Secure Shell (SSH) protocol. If this type is selected, you will not be able to create folder to the FTP
server.

❍ FTP with TLS/SSL (Explicit)


Explicit connection type of FTP security with TLS/SSL.

❍ FTP with TLS/SSL (Implicit)


Implicit connection type of TP security with TLS/SSL.

● Formats
Specifies in which formats to send the report result file to the FTP site. You can specify one or more formats. For each
format, you need to specify a name for the result file.
❍ JReport Result
Sends the report result in a JReport result file to the specified FTP site.
■ Zip Result
Specifies to compress the result and its size would be smaller.

■ Precision Level
Specifies the precision level with which to publish the report result. Note that changing the default value may cause
abnormalities in report layout.

❍ Studio Result
Sends the studio report result in a WST file to the specified FTP site.
■ Zip Result
Specifies to compress the result and its size would be smaller.

■ Precision Level
Specifies the precision level with which to publish the studio report result. Note that changing the default value may
cause abnormalities in report layout.

❍ HTML
Sends the report result in an HTML file to the specified FTP site.

❍ PDF
Sends the report result in a PDF file to the specified FTP site.

❍ Excel
Sends the report result in an Excel file to the specified FTP site.

❍ Text
Sends the report result in a Text file to the specified FTP site.

❍ RTF
Sends the report result in a RTF file to the specified FTP site.

❍ XML
Sends the report result in an XML file to the specified FTP site.

❍ PostScript
Sends the report result in a PostScript file to the specified FTP site.

● Check Connection
Checks whether to be able to connect to the specified FTP location with the specified user account.

● OK
Retains the settings and adds the FTP site into the FTP To list.

● Cancel
Cancels the creation of the new FTP site.

Edit
Edits the specified FTP site in the FTP To list.
Delete
Deletes the specified FTP site from the FTP To list.
Conditions tab
The Conditions tab allows you to specify the conditions for the publishing tasks. It contains the following
two sub tabs:
● Time tab

● Trigger tab

Time tab
The Time tab allows you to set settings for specifying the time for when a task is to be performed.

Time Zone
Specifies the time zone.
Time Type
Specifies the time type of the task.
● Run this task immediately
Performs the task as soon as you submit it.

● Run this task at


Specifies the time for when the task is to be performed on a repeated basis.
❍ Date
Specifies the date for when the task will be run. You can specify the date by clicking the calendar
button .

❍ Time
Specifies the time for when the task will be run.

❍ Run missed task upon server restart


Specifies to run missed tasks when you restart the server.

● Run this task periodically


Specifies the time for when the task is to be performed on a repeated basis.
❍ Duration
■ Run after
Specifies the start date and time of the period during which the task is to be performed on a
repeated basis.

■ Run until
Specifies the end date and time of the period during which the task is to be performed on a
repeated basis.

❍ Date
■ Daily
Performs the task every one day, two days, etc., or every weekday (from Monday to Friday).

■ Weekly
Performs the task every one week, two weeks, etc., and on Sunday, Monday, Tuesday, etc.

■ Monthly
Performs the task every one month, two months, etc., on the first day, second day, etc., or on the
first Sunday, Monday, etc., of the specified month.

❍ Time
Specifies the exact time for when a task is to be performed on a selected day.
■ At
Specifies a certain time for when to perform a task on a selected day.

■ Hourly
Performs the task every one hour, two hours, etc., at a certain minute on a selected day.

■ Minutely
Performs the task every one minute, two minutes, etc.

❍ Run missed task upon server restart


Specifies to run missed tasks when you restart the server.

Trigger tab
The Trigger tab allows you to set settings for specifying a trigger for the publishing task.
Select a trigger to bind
Specifies the trigger from the drop-down list for the task.
Create New
Creates a new trigger.
● Trigger Name
Specifies the name of the trigger.

● Conflict Check
Checks if the name has been used for another trigger.

● Description
Specifies the description of the trigger (if required).

● OK
Creates the trigger with the specified information.

● Cancel
Cancels the trigger creating process.

Logic with time condition


Specifies the logic between time condition and trigger condition.
● Trigger Only
Performs the task only when the trigger fires.

● Trigger and Time Condition


Performs the task when both time condition and trigger condition are ready.

Notes:
❍ No matter which condition is ready, the task can only be performed when its counterpart is ready.
❍ If you specify the task to be performed at a specific time, you must check the checkbox Run
missed task upon Server restart, otherwise the task will be regarded as expired and will be
deleted when the time condition is ready before the trigger condition.

● Time Condition after Trigger


Performs a task when both the time condition and the trigger condition are ready. The trigger condition
must be ready before the time condition. If the time condition is ready before the trigger condition, the
task will be regarded as expired and will be deleted.

● Time Condition or Trigger


Performs the task when either the time condition or the trigger condition is ready.
Notification tab
The Notification tab allows you to notify someone by e-mail when a task has finished running, regardless of
whether it was successful or unsuccessful.

When task is successful


Specifies to send an e-mail when the task is successful.
When task fails
Specifies to send an e-mail when the task is unsuccessful.
To
Specifies the address you want to send the e-mail to.
Cc
Specifies the address you want to copy to.
Bcc
Specifies the address you want to secretly copy to.
Subject
Specifies the subject of the e-mail.
Comments
Specifies the contents of the mail or comments to the contents.
Duration tab
This tab is available only when you have enabled the task-level timeout mechanism either by setting the task.
duration.enable property to true in the server.properties file or by checking the Enable Task Duration option in
the Configuration > Advanced panel on the JReport Administration page.
In this tab, you can specify a time duration for a task, and ask JReport Server to cancel the task or to notify
you or someone else of the task status via e-mail if the task has not yet finished running when the task
duration is up.

The following are the available options:


Timeout
Specifies the time duration for the task.
Notify by e-mail after the specified time
Sends an e-mail about the task information when the specified time is up.
● Mail To
Specifies the e-mail address of the recipient.

Cancel the task after the specified time


Cancels the running task when the specified time is up.
Security dialog
When you click Security on the system toolbar of the JReport Administration page, the entries to the following panels are
available on the drop-down menu. Use each panel to set the settings according to your requirements.
● Realm panel

● User panel

● Group panel

● Role panel

● Privilege panel

● Alias panel

Realm panel
This panel allows you to manage realms in JReport Server.

Create a New Realm


Creates a realm in the New Realm dialog.

Name
Displays the names of the existing realms.
State
Displays the states of the existing realms: Active Realm or Selected Realm. Active Realm means that the realm is the current
active realm, and Selected Realm means the realm is the current editing realm in the Security dialog.
Control
Controls the realms.
● Select
Sets the specified realm to be the current editing realm.

● Delete
Deletes the specified realm.

User panel
This panel allows you to manage users in JReport Server.
Create a New User
Opens the New User dialog to create a user.

User ID
Lists the users' IDs. You can view and edit user properties by clicking the underlined user IDs.
Full Name
Displays the user's full names. Full name is a property of a user.
Edit Roles
Edits the roles of the specified user. Click the underlined role(s) to edit the roles.
● Name
Lists the name of the roles that the user holds.

● Built-in
Specifies whether the role is a built-in role.

● Remove
Removes the specified roles from the role list.

● Add Roles
Lists the roles that can be assigned to the user.
❍ Add
Adds the specified roles to the user.

Edit Groups
Edits the groups of the specific user. Click the underlined group(s) to edit the groups.
● Name
Lists the name of the groups that the user belongs to.

● Remove
Removes the user from the specified groups.

● Add Groups
Lists the groups that the user can be added to.
❍ Add
Adds the user to the specified groups.

Authentication
Specifies users' authentication type: Local or LDAP.
Control
Controls the users.
● Auditing
Opens the Auditing dialog to audit the specified user.

● Change Password
Opens the Change Password dialog to change the password of the specific user.

● Preferences
Opens the Preferences dialog to set preferences for the specific user. For details about the preference settings, refer to
Profile dialog.

● Delete
Deletes the specified user. The built-in user accounts admin and guest cannot be deleted.

Group panel
This panel allows you to manage groups in JReport Server.

Create a New Group


Creates a group in the New Group dialog.

Name
Lists the group names. You can view and edit group properties by clicking the underlined group name.
Members
Edits members of the specified group. Click the underlined member(s) to edit the members.
● Name
Lists the name of the members that the group holds.

● Type
Specifies the type of the members that the group holds.

● Authentication
Specifies the group members' authentication type: Local or LDAP.

● Remove
Removes the specified members from the group.

● Add Members
Shows the members that can be added to the group.

Control
Controls the groups.
● Delete
Deletes the specified group. Groups that have child members or parent members cannot be deleted.

Role panel
This panel allows you to manage roles in JReport Server.
Create a New Role
Creates a role in the New Role dialog.

Name
Lists the role names. You can view and edit role properties by clicking the underlined role name.
Members
Edits members of the specified role. Click the underlined member(s) to edit the members.
● Name
Lists the names of the role's members.

● Type
Specifies the type of the role's members.

● Authentication
Specifies the role's members' authentication type: Local or LDAP.

● Remove
Removes the specified members from the role.

● Add Members
Shows the members that can be added to the role.

Control
Controls the roles.
● Delete
Deletes the specified role. Built-in roles, administrators and everyone, and roles that are not empty, cannot be deleted.

Privilege panel
This panel allows you to grant roles, groups and users privileges in JReport Server.
The privileges include the following two:
● Publish
The privilege of publishing resources to JReport Server.

● Advanced Properties
The privilege of viewing advanced information of version properties such as catalog connections and report set related
resources.

Role Privileges
Lists the roles that have been assigned one or both of the Publish and Advanced Properties privileges.
You can directly select the checkboxes to grant privileges to a role, or uncheck the boxes to remove privileges from a role.
Group Privileges
Lists the groups that have been assigned one or both of the Publish and Advanced Properties privileges.
You can directly select the checkboxes to grant privileges to a group, or uncheck the boxes to remove privileges from a group.
User Privileges
Lists the users that have been assigned one or both of the Publish and Advanced Properties privileges.
You can directly select the checkboxes to grant privileges to a user, or uncheck the boxes to remove privileges from a user.
Add
Assigns the privileges of Publish or Advanced Properties to roles/groups/users, and adds these roles/groups/users into the
Role Privileges/Group Privileges/User Privileges table.
After you have clicked the button, the following options are available:
● Role Privileges
First select a role and then click the checkboxes to assign privileges to it.

● Group Privileges
First select a group and then click the checkboxes to assign privileges to it.

● User Privileges
First select a user and then click the checkboxes to assign privileges to it.

● OK
Saves the changes.

● Cancel
Cancels the changes.

Remove
Removes the selected roles/groups/users from the Role Privileges/Group Privileges/User Privileges table, and also removes
the privileges assigned to them at the same time.
Save
Submits the changes that are to be applied.
Notes:
● If users are to conduct publishment, they must at the same time have both the permission to write and publish.

● By default, only the "administrators" role and "admin" users have the Publish and Advanced Properties privileges.

Alias panel
This panel allows you to set an alias resource tree based on the server resource tree for roles, groups, or users.

Set Role/Group/User Alias


Sets an alias resource tree for roles/groups/users, and then adds these roles/groups/users to the alias list.
After clicking the link, the following options will be available:
● Role Name/Group Name/User Name
Lists the roles, groups, and users for which you can set an alias resource tree.

● Description
Specifies information about a role, group or user.

● Next
Goes to the next step and opens the Set Alias dialog.

● Cancel
Cancels any operations performed and exits the page.

Name
Lists the name of roles, groups, and users that have been set an alias resource tree.
Description
Specifies information about a role, group or user that has been assigned an alias.

Related topics:
● Managing security
Select Another Catalog dialog
The Select Another Catalog dialog helps you to specify another catalog for the current report set or
folder.

Catalogs in
Specifies the root of the catalog, My Reports or Public Reports.
Select a Folder
Specifies the directory of the catalog.
Select a Catalog
Specifies the catalog from the drop-down list.
OK
Applies the settings and closes the dialog.
Cancel
Cancels the settings and closes the dialog
Help
Displays this help document.
Select Folder dialog

The dialog is displayed when you click the button next to the Select a Folder text field in the New
Cache dialog for selecting queries. It helps you to select a folder in the server resource tree that
contains the required catalog.

Resource tree box


The box lists the folder resources in the server resource tree. Navigate to the required folder to select it.
OK
Selects the folder and closes the dialog.
Cancel
Cancels the selection of a folder and closes the dialog.
Help
Displays this help document.
Select Language Source dialog

This dialog is displayed when you click the button above the Language box in the Global NLS
dialog. It helps you to choose where to add a new language.

Languages Supported by JReport


Specifies to add a new language from the Available Languages box. After choosing the option and
clicking OK, you will be shown the Add Language dialog.

NLS Resource File


Specifies to add a new language from an NLS resource file in your local folder. After choosing the
option and clicking OK, you can browse to the local folder where the NLS resource file is located.
NLS resource files should follow the naming rule: NLS_[language]_[region A2]_[User Defined].
properties. Refer to Appendix 5: Language and region name list for National Language Support for
language and region A2 codes.
OK
Goes to the next action.
Cancel
Cancels the action and exits the dialog.
Help
Displays this help document.
Select Queries dialog

This dialog is displayed when you click the button beside the Select Queries box in the New Cache
dialog for selecting queries. It allows you to specify the queries that you are going to create data
caches for.

Resource tree box


The box lists the data source resources that can be used as queries. The query resources include
queries, stored procedures, imported SQLs, user defined data sources, hierarchical data sources, and
parameters whose type is Bind with Single Column or Bind with Cascading Columns (for which type
only a parameter with the cascading parameter group name is listed). If a query resource has been
used by an existing data cache, it will not be listed here. You can select multiple resources at a time.
OK
Selects the query resources and closes the dialog.
Cancel
Cancels the selection of resources and closes the dialog.
Help
Displays this help document.
Select Report Type dialog
This dialog appears when you click New Report on the task bar of the Reports page. It helps you to choose
a type for the report.

Web Layout Report


Specifies to create a web layout report based on a business view.
● Available Business View Data Sources
Displays all the available business views in the current catalog.

Page Layout Report


Specifies to create a page layout report based on a business/report cube.
● Available JReport Cube Data Sources
Displays all the available business/report cubes in the current catalog.

OK
● If Web Layout Report is selected, when you click OK, the JReport Studio Wizard will be displayed for you
to create a web layout report.

● If Page Layout Report is selected, when you click OK, the New Report Set dialog will be displayed for
you to create a page layout report.

Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Set Alias dialog
This dialog is displayed when you click the Set Alias link in the Security > Alias panel on the JReport Administration
page, check a role/group/user in the displayed dialog and then click the Next button.

Alias Tree
Displays the alias resource tree.
New
Creates a new alias node in the current node. A node functions as a folder.
Remove
Deletes the selected alias node permanently. The root node cannot be deleted.
Path
Displays the path of the current node in the alias resource tree.
Alias Name
Displays the name of the current node. You can edit the alias name.
When you click the New button to create a new alias node in the current node, the default name for the new alias
node is newAlias.
Real Resource Name
Displays the resource in the server resource tree that is associated with the current alias node. You can change the
resource using the Browse button.
When you click the New button to create a new alias node in the current node, this field is left blank. You will need
to specify a resource from the server resource tree with which to associate the new alias node by using the Browse
button.
Browse
Specifies a destination resource in the server resource tree that is to be associated with the current alias node.
Hide This Alias
If this option is selected, the current alias node and its sub aliases will be invisible to the role, group, or user for
whom the alias resource tree is set.
OK
Applies the settings.
Back
Returns to the previous page if no alias has been set.
Close
Exits this dialog.
Notes:
● An alias tree is based on the resource nodes (not virtual resource nodes) of the resource tree.

● By default, the alias resource tree root for each user refers to the resource tree root.

● When an alias tree is activated for a user, all resource access is then controlled by the alias resource tree.
Set Permissions dialog
This dialog helps you to assign permissions to roles, users, groups on specific resource or folder.

Enable Setting Permissions


Enables the setting of permissions.
Available
Lists the roles/users/groups to which you can assign permissions.
● Role
If checked, all roles will be displayed in the Available box for you to assign permissions.

● User
If checked, all users will be displayed in the Available box for you to assign permissions.

● Group
If checked, all groups will be displayed in the Available box for you to assign permissions.

Adds the selected roles, users or groups to the Selected box.

Removes the selected roles, users or groups from the Selected box.
Selected
Displays the roles, users and groups to which the permissions will be assigned.
● Visible
Specifies whether to give the selected role/user/group the Visible permission.

● Read
Specifies whether to give the selected role/user/group the Read permission.

● Write
Specifies whether to give the selected role/user/group the Write permission.

● Delete
Specifies whether to give the selected role/user/group the Delete permission.

● Execute
Specifies whether to give the selected role/user/group the Execute permission.

● Schedule
Specifies whether to give the selected role/user/group the Schedule permission.

● Grant
Specifies whether to give the selected role/user/group the Grant permission. Users, groups or roles that have obtained the Grant
permission are also endowed with the other seven permissions - Visible, Read, Write, Delete, Execute, Schedule, and Update Status,
and can grant these seven permissions except the Grant permission itself.

● Update Status
Specifies whether to give the selected role/user/group the Update Status permission.

OK
Accepts the settings and closes the dialog.
Cancel
Cancel the settings.
Help
Displays this help document.
Sign dialog
This dialog is displayed when you click the Setting button next to the Sign option while configuring settings for
advanced running/publishing a report set in PDF format.

Method
Specifies the signing digital signature method from the three methods provided by Adobe Acrobat software.
Digital ID File
Specifies whether to use a digital ID file from a specified directory.
User Password
Specifies the password for this digital ID file.
Confirm Password
Confirms the password.
Reason for Signing Document
Specifies the reason for signing the document.
Or Other Reason
Edits the reason for signing the document.
Location
Edits your location accordingly.
Your Contact Information
Edits your contact information accordingly.
OK
Saves the settings and exits the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.
Specify Catalog dialog
This dialog is displayed when you click Create Report on the JReport Server launch pad. It helps you to
specify the catalog which will be used to create the report.

Catalogs in
Specifies the resource directory in which the catalogs are located, My Reports or Public Reports.
Select a Folder
Specifies the folder in the selected resource directory that contains catalogs you can use to create the
report.
Select a Catalog
Specifies the catalog you want to use to create the report.
OK
Applies the settings and opens the New Report Set dialog.

Cancel
Cancels the settings and exits the dialog.
Help
Displays this help document.
Triggers dialog
This dialog is displayed when you click Triggers on the system toolbar of the JReport Administration
page.

New Trigger
Creates a new trigger.
● Trigger Name
Specifies the unique name for the new trigger. Triggers are managed by name in JReport Server, so
each trigger must have a unique name.

● Conflict Check
Checks whether the name conflicts with any existing triggers before creating the new trigger. You
cannot create two triggers with the same name.

● Description
Specifies the description for the new trigger.

● OK
Creates the trigger.

● Cancel
Cancels the operation.

Delete
Deletes the selected triggers.
Enable
Enables the selected triggers. When a trigger is enabled, the Fire operation is also enabled.
Disable
Disables the selected triggers.
Fire
Activates tasks that are bound with the selected triggers.
Trigger box
Displays the trigger information.
● Checkbox
Specifies whether or not to select the triggers. Check the checkbox on the column header to select all
the triggers.

● Name
Displays names of the triggers.

● Is Enabled
Shows whether the triggers are enabled or not.

● Referenced
Shows the times the triggers are referenced.

● Last Fired
Shows the time when the triggers were lasted fired.

● Description
Displays description of the triggers.
JReport Viewer dialogs
While using JReport Viewer, you will go through the following dialogs. This section introduces each of
these dialogs in alphabetical order. You can go into the links for details.
● Add Measure dialog

● Aggregate On dialog

● Apply Style dialog

● Banded Object Properties dialog

● Banded Panel Properties dialog

● Banded Wizard

● Bottom N dialog

● Button Properties dialog

● Chart Definition dialog

● Chart Wizard

● Conditional Formatting dialog

● Convert Data Fields dialog

● Crosstab Properties dialog

● Crosstab Wizard

● Customized Page dialog

● Data Field Properties dialog

● Edit Conditions dialog

● Edit Measure dialog

● Encoding dialog

● Enter Values dialog

● Export dialog

● Filter Control Properties dialog

● Filter dialog

● Format Label dialog


● Format Legend dialog

● Format Paper dialog

● Format Platform dialog

● Formula Editor dialog

● Group Properties dialog

● Image Properties dialog

● Insert Detail Column dialog

● Insert Filter Control dialog

● Insert Group Column dialog

● Insert Image dialog

● Insert Parameter Control dialog

● Insert Parameter Form Control dialog

● Insert Summary Column dialog

● Label Properties dialog

● Max Records dialog

● Multivalue Container Properties dialog

● Navigation Control Properties dialog

● New Report dialog

● New Report Set dialog

● New Toolbar Name dialog

● Open Report dialog

● Options dialog

● Order/Select N dialog

● Page Properties dialog

● Parameter Control Properties dialog

● Parameter Field Properties dialog

● Parameter Form Control Properties dialog

● PDF Encrypt Option dialog

● PDF Sign Option dialog


● Printable Version dialog

● Query Filter dialog

● Rename Current Report dialog

● Report Body Properties dialog

● Report Parameters dialog

● Report Properties dialog

● Save As dialog

● Save Report Template dialog

● Search dialog

● Select Color dialog

● Select Field dialog

● Select Group Position dialog

● Select Resource dialog

● Select Values dialog

● Sort dialog

● Special Field Properties dialog

● Split dialog

● Table Cell Properties dialog

● Table Properties dialog

● Table Row Properties dialog

● Table Wizard

● Tabular Cell Properties dialog

● Tabular Properties dialog

● Text Box Properties dialog

● Top N dialog

● To Chart dialog

● To Crosstab dialog

● Turn to Page dialog

● Zoom dialog
Note: The properties dialogs may be different for an advanced user and for a common user. An
advanced user can modify some properties that a common user cannot, and can use formulas to
control properties. The section about JReport Viewer dialogs is based on advanced user. To become an
advanced user, log onto the JReport Administration page, click Profile on the system toolbar and
select Configure DHTML Profile from the drop-down menu. Then select the Properties > Advanced
tab and check the Advanced User option.
Add Measure dialog
This dialog helps you to create a dynamic measure object in a report.

Measure Name
Specifies the display name of the measure object.
Mapping Name

Specifies the mapping name of the field to which the measure object is mapped. Click to select the
field in the Select Resource dialog.

This option and the button are disabled when you specify to create a measure object on a dynamic
formula.
Aggregate
Specifies the aggregate function of the measure object. The function will be applied according to the
group where the measure is placed or the entire report if placed in the report header or footer.
● Count
This function computes the number of values referred to by the argument.

● Sum
This function computes the sum of all the values referred to by the argument.

● Average
The function is used to get the average value of the values referred to by the argument.
● Maximum
This function returns the highest value referred to by the argument.

● Minimum
This function returns the lowest value referred to by the argument.

● DistinctCount
This function computes the number of distinct values referred to by the argument.

● PopulationStdDev
This function computes the population standard deviation of the values referred to by the argument.

● StdDev
This function computes the standard deviation of the values referred to by the argument.

● Variance
This function computes the variance of all the values referred to by the argument.

OK
Creates the measure object and closes the dialog.
Cancel
Cancels the operation and closes the dialog.
Help
Displays this help document.
Aggregate On dialog
The dialog helps you to create aggregate function based on a selected table detail column.

Aggregate On
Displays the field bound with the detail column, and also the one on which you want to create
aggregate function.
Function
Specifies the function to summarize the field in the detail column.
OK
Creates the aggregate function and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Apply Style dialog
This dialog helps you to set a style to the selected data component.

Style
Lists the styles applicable to the component.
● Custom
There is no style information in this style and it is only used to handle reports created with previous
versions which did not bind any style or the bound style cannot be found in the style list.

Preview
Displays a diagram illustrating the effect of the selected style on the component.
Inherit Style
Specifies to take the style of the parent component. The option is available only when the banded
object, table, crosstab, or chart is contained in a banded object (for a chart, in a table also).
OK
Accepts all changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Banded Object Properties dialog
This dialog helps you to edit the properties of a banded object. It contains the following tabs:
● General tab

● Border tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the banded object.
Name
Specifies the display name of the banded object, which will be shown on the shortcut menu of the
banded object.
Position
Displays the position mode of the banded object. If the banded object is directly contained in the report
body, a tabular cell, or a text box, its position mode can be modified.
● Absolute: The banded object's position will be decided by its X and Y property values.

● Static: The banded object will be positioned at the default location in its container. If selected, the X,
Y and other position-related properties will be hidden or disabled.

● Relative: The banded object will be positioned according to its default location and the X and Y
property values.

X
Specifies the X coordinate of the banded object.
Y
Specifies the Y coordinate of the banded object.
Width
Specifies the width of the banded object.
Height
Specifies the height of the banded object.
Background
Specifies the background color of the banded object.
To change the color, click the color indicator to access the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.

Border tab
This tab shows information about borders of the banded object.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Others tab
You can use this tab to view and configure some miscellaneous settings.

TOC Anchor
Specifies whether or not to add the node that represents the banded object to the TOC tree that is
displayed in the TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the banded object will not be displayed.
Export to XLS
If true (checked), the banded object will be exported when you save the report result as an XLS file
(make sure to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the banded object will be exported when you save the report result as a TXT file with
Delimited Format selected.
Banded Panel Properties dialog
This dialog helps you to edit the properties of a banded panel. It contains the following tabs:
● General tab

● Border tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the banded panel.
Name
Specifies the display name of the panel, which will be shown on the shortcut menu of the panel.
Width
Specifies the width of the panel.
Height
Specifies the height of the panel.
Background
Specifies the background color of the panel.
To change the color, click the color indicator to access the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.

Border tab
This tab shows information about borders of the banded panel.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.

Others tab
You can use this tab to view and configure some miscellaneous settings.

Bottom Line
Specifies whether or not to show the bottom line of the panel.
Cross Page
When the current page cannot hold the whole panel, the panel will cross into the next page if the
property is set to true (checked), or else the whole panel will be displayed in the next page.
Suppress When No Records
If true (checked) and no records are returned by the report, the panel will not be displayed.
Export to XLS
If true (checked), the panel will be exported when you save the report result as an XLS file (make sure
to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the panel will be exported when you save the report result as a TXT file with
Delimited Format selected.
Banded Wizard
This wizard guides you through the process of creating a banded object. It contains the following screens:
● Data screen

● Display screen

● Group screen

● Summary screen

● Query Filter screen

● Style screen

Back
Returns to the previous screen.
Next
Goes to the next screen.
Finish
Creates a report containing the banded object and closes the wizard.
Cancel
Closes the wizard without creating a report.
Help
Displays this help document.

Data screen
Specifies the business/report cube to use to create the banded object. This screen is hidden when there is only
one cube in the current catalog.
Available Data Resources
Lists all the available business/report cubes in the current catalog, with which you can create the banded
object.

Display screen
Specifies the fields to be displayed in the banded object.
Resources
Displays all the cube elements in the selected business/report cube.

Adds the selected cube element to be displayed in the banded object.

Removes the selected cube element.


Display Fields
Lists the cube elements you have selected to display in the banded object.
Display Name
Specifies the display names of the added cube elements.

Moves the selected cube element one step up.

Moves the selected cube element one step down.

Group screen
Specifies the fields to group the data.
Resources

Displays all the available dimension objects you can use to group the data in the banded object.

Adds the selected dimension object as a group field.

Removes the selected dimension object.


Group By
Lists all the dimension objects that have been added as the group fields.
Sort
Specifies the sort order for each group: Ascend, Descend, or No Sort.

Moves the selected group one step up.

Moves the selected group one step down.

Summary screen
Specifies the fields on which to create aggregation functions.
Resources

Displays all the available measure objects you can use to create aggregation functions in the banded
object.

Adds the selected measure object as a summary field.

Removes the selected measure object.


Summarized Fields
Lists the groups that have been created in the banded object and the measure objects you have added to
summarize data in each group.
Display Name
Specifies the display names of the measure objects.

Moves the selected measure object one step up.

Moves the selected measure object one step down.

Query Filter screen


Specifies the filter which you want to apply to the selected business/report cube.
In this screen, all the predefined filters of the business/report cube are listed in the Query Filter drop-down
list. You can choose one of them to apply. If you prefer to define a filter on your own, select User Defined
from the drop-down list, and then define it according to your requirements.
For details about options in the screen, refer to Query Filter dialog.

Style screen
Specifies the style of the banded object. This screen is hidden when there is only one style available to be
applied to the banded object.
Style
Lists all the available styles for you to select from.
Inherit Style
Specifies to take the style of the parent component. The option is available only when you specify to insert the
banded object into another banded object.
Preview
Shows a preview of the selected style.
Bottom N dialog
This dialog helps you to filter data to display records that meet the Bottom N condition.

Value
Enter a positive integer N here so that records with the field value equal to one of the bottom N field
values will be displayed.
OK
Applies the settings and closes the dialog.
Cancel
Closes the dialog and discards any changes.
Help
Displays this help document.
Button Properties dialog
This dialog helps you to modify the properties of a button in a navigation control.
Button Type
● Button
The button is displayed as a normal button.

● Image Button
The button is displayed as an image.

Button
When Button is selected as the button type, the following options are available.
Button Label
Specifies the properties of the button label.
● Text
Specifies the text of the label.

● Font
Specifies the font face of the text.

● Font Style
Specifies the font style of the text.

● Font Size
Specifies the font size of the text.

● Align
Specifies the alignment way of the label in the button.

● Font Color
Specifies the font color of the text.

Border
Specifies the properties of the button border.
● Color
Specifies the border color.

● Thickness
Specifies the border width.

● Top Line
Specifies the style of the top border line.

● Bottom Line
Specifies the style of the bottom border line.

● Left Line
Specifies the style of the left border line.

● Right Line
Specifies the style of the right border line.

Button Body
Specifies the properties of the button body.
● Background
Specifies the background color of the button body.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB. If you want to make the background transparent, input
Transparent in the text box.

● Width
Specifies the width of the button.

● Height
Specifies the height of the button.

● Position
Displays the position mode of the button. If the button is directly contained in the report body, a tabular
cell, or a text box, its position mode can be modified.
❍ Absolute: The button's position will be decided by its X and Y property values.

❍ Static: The button will be positioned at the default location in its container. If selected, the X, Y and
other position-related properties will be hidden or disabled.

❍ Relative: The button will be positioned according to its default location and the X and Y property values.

● X
Specifies the X coordinate of the button.

● Y
Specifies the Y coordinate of the button.

Preview
Displays a preview of the button according to the button properties.

Image Button
When Button Image is selected as the button type, the following options are available.
Image From
Specifies the source of the image file. These types of images are supported: GIF, JPG, and PNG.
● Local File
Specifies to use an image from the local file system. The types and size of the images that can be used are
defined by the administrator in the Upload panel.

❍ File Name
Specifies the path and name of the image file. You can click the Browse button to locate the image file.

● Web URL
Specifies to use an image via URL.
❍ Image URL
Specifies the URL of the image file. JReport will record the latest 10 entered URLs in the drop-down list.

Note: If your JReport Server is in an intranet, to successfully access the image via URL, you need to
add the parameters -Dhttp.proxyHost=XXX -Dhttp.proxyPort=XX to the server's startup file
JRServer.bat, which locates in <install_root>\bin.

● Library
Specifies to use an existing image.
❍ My Images
The My Images folder is a virtual location where JReport Server stores the images that have once been
inserted into reports. Select the one you want to use.

❍ Preview
Displays a preview of the selected image.

OK
Applies the button properties and closes this dialog.
Cancel
Cancels the changes and closes this dialog.
Help
Displays this help document.
Chart Definition dialog
The dialog helps you to modify the definition of a chart. It contains the following tabs:
● Chart Type tab

● Display tab

● Style tab

OK
Applies the settings and closes the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.

Chart Type tab


This tab allows you to set the type of the chart.
Chart Type
Lists all the chart types.
Subtype
Shows subtypes of the selected chart type in thumbnail form.
Chart Type Groups
Lists the subtypes defined for the chart.
Removes the selected subtype.

Display tab
This tab allows you to set the fields that will be displayed in the chart.
Resources
Displays all the dimension objects and measure objects used in the chart.

Adds the selected cube element to the chart.

Removes the selected cube element.


Category

Lists the dimension object that will be displayed on the category axis.
Series

Lists the dimension object that will be displayed on the series axis.
Show Values

Lists the measure objects that will be displayed on the value axis.
Order/Select N
Opens the Order/Select N dialog to define the sort order and Select N condition in the chart.

Style tab
This tab allows you to select a style for the chart. It is hidden when there is only one style available.
Style
Lists the available styles.
● Custom
There is no style information in this style and it is only used to support reports built with previous
versions which did not bind any style or the bound style cannot be found in the style list.

Preview
Displays a diagram illustrating the effect of the selected style on the chart.
Chart Wizard
This wizard guides you through the process of creating a chart. It contains the following screens:
● Data screen

● Type screen

● Display screen

● Query Filter screen

● Style screen

Back
Returns to the previous screen.
Next
Goes to the next screen.
Finish
Creates a report containing the chart and closes the wizard.
Cancel
Closes the wizard without creating a report.
Help
Displays this help document.

Data screen
Specifies the business/report cube to use to create the chart. This screen is hidden when there is only one
cube in the current catalog.
Available Data Resources
Lists all the available business/report cubes in the current catalog, with which you can create the chart.

Type screen
Specifies the type of the chart.
Chart Type
Lists all the chart types.
Subtype
Shows subtypes of the selected chart type in thumbnail form.
Chart Type Groups
Lists the subtypes defined for the chart.

Removes the selected subtype.


Display screen
Specifies the fields to be displayed in the chart.

Resources
Displays the cube elements in the selected business/report cube.
Category

Lists the dimension object that will be displayed on the category axis of the chart.
Series

Lists the dimension object that will be displayed on the series axis of the chart.
Show Values

Lists the measure objects that will be displayed on the value axis of the chart.
Order/Select N
Opens the Order/Select N dialog to define the sort order and Select N condition in the chart.

Adds the selected dimension or measure object to be displayed in the chart.

Removes the selected cube element.

Query Filter screen


Specifies the filter which you want to apply to the selected business/report cube.
In this screen, all the predefined filters of the business/report cube are listed in the Query Filter drop-down
list. You can choose one of them to apply. If you prefer to define a filter on your own, select User Defined
from the drop-down list, and then define it according to your requirements.
For details about options in the screen, refer to Query Filter dialog.

Style screen
Specifies the style of the chart. This screen is hidden when there is only one style available to be applied to the
chart.
Style
Lists all the available styles for you to select from.
Inherit Style
Specifies to take the style of the parent component. The option is available only when you specify to insert the
chart into a banded object or table.
Preview
Shows a preview of the selected style.
Conditional Formatting dialog
This dialog helps you to add some conditional formats to values of the selected field.

Condition
Displays all the conditions you have already added.


Adds a new condition in the Edit Conditions dialog.

Edits the selected condition.


Removes the selected condition.

● Priority
Specifies the priority of each condition.


Moves a condition up for a higher priority.


Moves a condition down for a lower priority.

Format
Specifies the format which will be applied to the field values when the specified condition is fulfilled.
● Font
Specifies the font type for the field values.

● Border
Specifies the border line style for the field values.

● Size
Specifies the font size for the field values.

● Bold
Specifies whether or not to bold the field values.

● Italic
Specifies whether or not to make the field values italic.

● Underline
Specifies whether or not to underline the field values.

● Foreground Color
Specifies the foreground color for the field values.

● Background Color
Specifies the background color for the field values.

● Sample Text
Displays a preview sample of your settings.

OK
Applies the settings and exits the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.
Convert Data Fields dialog
A component created in JReport Designer is based on a dataset, while that created in JReport Viewer is
based on a business/report cube. For the former, if you want to do analytic actions in JReport Viewer,
such as adding a cube element, converting the component type, drilling it, or changing chart definition,
JReport Viewer will convert its fields to cube elements of a business/report cube. In those cases, the
Convert Data Fields dialog will appear for your confirmation of the conversion.

Do not display this message again


Check this option if you do not want this dialog to be displayed in future.
To display the dialog again, on the JReport Console/Administration page, click Profile > Configure
DHTML Profile > Properties > Default, and then check Always Prompt to Convert Data Fields.
OK
Confirms the conversion.
Cancel
Does not convert the fields to cube elements.
Help
Displays this help document.
Crosstab Properties dialog
This dialog helps you to edit the properties of a crosstab. It contains the following tabs:
● General tab

● Border tab

● Crosstab tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the crosstab.
Name
Specifies the display name of the crosstab, which will be shown on the shortcut menu of the crosstab.
Position
Displays the position mode of the crosstab. If the crosstab is directly contained in the report body, a tabular cell, or a text
box, its position mode can be modified.
● Absolute: The crosstab's position will be decided by its X and Y property values.

● Static: The crosstab will be positioned at the default location in its container. If selected, the X, Y and other position-
related properties will be hidden or disabled.

● Relative: The crosstab will be positioned according to its default location and the X and Y property values.

X
Specifies the X coordinate of the crosstab.
Y
Specifies the Y coordinate of the crosstab.
Width
Specifies the width of the crosstab.
Height
Specifies the height of the crosstab.
Background
Specifies the background color of the crosstab.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color, or input a color
string in the format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.

Border tab
This tab shows information about borders of the crosstab.
Color
Specifies the color of the borders.
Has Border
Specifies whether or not to show the borders.

Crosstab tab
This tab shows the layout-related information of the crosstab.
Horizontal Gap
Specifies the space between the content and left/right edge of a crosstab cell.
Vertical Gap
Specifies the space between the content and top/bottom edge of a crosstab cell.
Block Gap
Specifies the spacing between each part of the crosstab if the crosstab will be split into more than one part.
Boundary Value
Specifies the number of aggregate fields in one row/column.
Row Total on Top
Specifies whether or not to display the Total rows for each column on the top of the crosstab.
Column Total on Left
Specifies whether or not to display the Total columns for each row in the first column in the crosstab.
Repeat Row Header
Specifies whether or not to repeat column headings on every page.
Avoid Orphan Header
Sometimes the column header happens to be at the bottom of a page. To keep the column header together with the data
in the next page, check this checkbox.
Expand Data
Specifies whether or not to enable JReport Viewer users to expand or collapse dimensions in the crosstab.
Suppress Row Header
Specifies whether or not to suppress the row headers.
Outside Aggregate Title
Specifies whether or not to place the titles of aggregate fields outside.
Suppress Column Header
Specifies whether or not to suppress the column headers.
Table Style
Specifies whether or not to add headers to the Total rows and columns.
Repeat Aggregate
Specifies whether or not to repeat the crosstab for different aggregate fields.

Others tab
You can use this tab to view and configure some miscellaneous settings.

Current Row Block Index


Specifies the row index of data block.
Current Column Block Index
Specifies the column index of data block.
Items per Row Block
Specifies how many data blocks in the row direction should be split.
Items per Column Block
Specifies how many data blocks in the column direction should be split.
TOC Anchor
Specifies whether or not to add the node that represents the crosstab to the TOC tree that is displayed in the TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the crosstab will not be displayed.
Export to XLS
If true (checked), the crosstab will be exported when you save the report result as an XLS file (make sure to check Excel
2000 in the Export dialog).
Export to CSV
If true (checked), the crosstab will be exported when you save the report result as a TXT file with Delimited Format
selected.
Crosstab Wizard
This wizard guides you through the process of creating a crosstab report. It contains the following screens:
● Data screen

● Display screen

● Query Filter screen

● Style screen

Back
Returns to the previous tab.
Next
Goes to the next tab.
Finish
Creates a report containing the crosstab and closes the wizard.
Cancel
Closes the wizard without creating a report.
Help
Displays this help document.

Data screen
Specifies the business/report cube to use to create the crosstab. This screen is hidden when there is only one
cube in the current catalog.
Available Data Resources
Lists all the available business/report cubes in the current catalog, with which you can create the crosstab.

Display screen
Specifies the fields to be displayed in the crosstab.
Resources
Displays the cube elements in the selected business/report cube.

Adds the selected dimension object to be displayed on the columns of the crosstab.

Adds the selected dimension object to be displayed on the rows of the crosstab.
Adds the selected measure object to be the aggregate field of the crosstab.
Columns/Rows
● Field
Lists the dimension objects that will be displayed on the columns/rows of the crosstab.

● Display Name
Specifies the display names of the dimension objects. By default these are blank and no labels will be
created for the dimension objects to name the columns/rows. You can double-click the cells to edit them if
required.

● Sort
Specifies the sort order of the dimension objects.

Summaries
● Field
Lists the measure objects that will be the aggregate fields of the crosstab.

● Display Name
Specifies the display names of the measure objects. By default these are blank and no labels will be created
for the measure objects to name the summaries. You can double-click the cells to edit them if required.

Moves the selected cube element one level up.

Moves the selected cube element one level down.

Removes the selected cube element.

Query Filter screen


Specifies the filter which you want to apply to the selected business/report cube.
In this screen, all the predefined filters of the business/report cube are listed in the Query Filter drop-down
list. You can choose one of them to apply. If you prefer to define a filter on your own, select User Defined
from the drop-down list, and then define it according to your requirements.
For details about options in the screen, refer to Query Filter dialog.

Style screen
Specifies the style of the crosstab. This screen is hidden when there is only one style available to be applied
to the crosstab.
Style
Lists all the available styles for you to select from.
Inherit Style
Specifies to take the style of the parent component. The option is available only when you specify to insert
the crosstab into a banded object.
Preview
Shows a preview of the selected style.
Customized Page dialog
This dialog is displayed when the web action user_popCustomizedPage() bound with a web control is
triggered. It by default shows all the parameters the current report and its subreport use. You can
change the parameter values to re-run the report according to your requirement. Also, you can
customize the JSP page of this dialog to make it display what you need by using the DHTML API.

OK
Applies the changes and closes the dialog.
Cancel
Cancels the changes and exits the dialog.
Help
Displays this help document.
Data Field Properties dialog
This dialog helps you to edit the properties of a DBField. It contains the following tabs:
● General tab

● Font tab

● Border tab

● Others tab

● Display tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the data field.
Name
Specifies the display name of the data field.
Position
Displays the position mode of the data field. If the data field is directly contained in the report body, a tabular
cell, or a text box, its position mode can be modified.
● Absolute: The data field's position will be decided by its X and Y property values.

● Static: The data field will be positioned at the default location in its container. If selected, the X, Y and other
position-related properties will be hidden or disabled.

● Relative: The data field will be positioned according to its default location and the X and Y property values.

Format
Specifies the data format of the data field.
X
Specifies the X coordinate of the data field.
Y
Specifies the Y coordinate of the data field.
Width
Specifies the width of the data field.
Height
Specifies the height of the data field.
Top Padding
Specifies the space between the text of the field and its top border.
Bottom Padding
Specifies the space between the text of the field and its bottom border.
Left Padding
Specifies the space between the text of the field and its left border.
Right Padding
Specifies the space between the text of the field and its right border.
Background
Specifies the background color of the data field.
To change the color, click the color indicator to baccess the Select Color dialog and then specify a new color, or
input a color string in the format #RRGGBB. If you want to make the background transparent, input Transparent
in the text box.
Foreground
Specifies the foreground color of the data field.
To change the color, click the color indicator to access the Select Color dialog, and then specify a new color, or
input a color string in the format #RRGGBB.

Font tab
This tab shows the font-related information of the data field.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the data field.
Vertical Alignment
Specifies the vertical alignment mode of the text in the data field.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Strikethrough
Specifies whether or not to attach a strikeout line to the text.
Italic
Specifies whether to make the text italic or not.
Autofit
Specifies whether or not to automatically adjust the width of the data field.
Word Wrap
Specifies whether or not to wrap the text to the data field width.
Ignore HTML Tag
If this option is unchecked, JReport will parse HTML tag elements in the field value while the report set is to be
saved as an HTML file; or the field value will appear in the HTML file the same as that in JReport Viewer (HTML
tag elements in the field value, if any, will not be parsed).

Border tab
This tab shows information about borders of the data field.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Shadow
Specifies whether the borders will have a shadow effect or not.
Shadow Color
Specifies the color of the border shadow.

Others tab
You can use this tab to view and configure some miscellaneous settings.
TOC Anchor
Specifies whether or not to add the node that represents the data field to the TOC tree that is displayed in the
TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the data field will not be displayed.
Suppress If Null
If true (checked) and the field value is null, the data field will not be displayed.
Export to XLS
If true (checked), the data field will be exported when you save the report result as an XLS file (make sure to
check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the data field will be exported when you save the report result as a TXT file with Delimited
Format selected.
Scope
Available only for data field in table or crosstab. It is a representation of the standard HTML attribute scope. This
attribute specifies the set of data cells for which the current header cell provides header information.
● Row - The current cell provides header information for the rest of the row that contains it.

● Column - The current cell provides header information for the rest of the column that contains it.

● None - The scope attribute will not be generated when exporting to HTML.

Logic Column
Specifies whether to show the data field in the next visible table cell in the same row when the column which
holds the field is hidden.

Display tab
You can use this tab to modify the display type of the data field as one of the following: Text, Barcode, Image,
Text Field, Text Area, Checkbox, Radio Button, Image Button, Button, Submit, Reset, and Hidden. What you need
to do is select the display type from the Display Type drop-down list, and then set the corresponding options.
Note: For the display types Text, there is no option available. For a field displayed as rank, you can't change its
display type.

Barcode
Specifies to display the data field as barcode.
Symbology
Specifies the barcode type.
Scale Mode
Specifie the unit for the values of the quiet zone, narrow width, supplement, height, and ratio.
Quiet Zone
Specifies the space around the barcode.
Narrow Width
Specifies the barcode bar width.
Supplement
Specifies the supplement of the barcode.
Height
Specifies the height of the barcode bars.
Message
Specifies the default value of the barcode.
Ratio
Specifies the width ratio of the thick bar to the thin bar.
Orientation
Specifies the rotation angle in degrees.
Use Default Message
Specifies whether or not to use the Message value as the barcode value when you view the report result.
Enable Checking Digits
Specifies whether or not to include check digits in the barcode.
Display HR
Specifies whether or not to display the barcode numbers together with the barcode.

Image
Specifies to display the data field as image.
Scaling Mode
Specifies the scaling mode of the image. This option is enabled when Original Size is unchecked (false). The mode
can be:
● Actual Size: The image will be shown in its actual size.

● Fit Image: The image will be scaled largest under the limitation of Max Ratio to wholly show in the field.

● Fit Width: The image will be scaled largest under the limitation of Max Ratio to fit the width of the field.

● Fit Height: The image will be scaled largest under the limitation of Max Ratio to fit the height of the field.

● Customize: The image size will be equal to the field size.

Rotation
Rotates the image at a specified angle in degrees. The following is the meaning of different values:
● 0 - No rotation.

● Positive value - Rotate the image clockwise.

● Negative value - Rotate the image anticlockwise.

Note: When you rotate an image, the rectangle that holds the image maintains its original size, which may result
in that the image exceeds the field border and therefore the parts that extend outside of the border will be cut off.
Name
Specifies the name of the image.
Alternate Text
If the image cannot be displayed, this attribute value will be used as the alternate text.
Max Ratio
Specifies the maximum scaling ratio of the image.
Width
Specifies the width of the image, applying if Scaling Mode is set to Customize. This option is enabled when
Original Size is unchecked (false).
Height
Specifies the height of the image, applying if Scaling Mode is set to Customize. This option is enabled when
Original Size is unchecked (false).
Original Size
Specifies whether or not to show the image in its original size.

Text Field
Specifies to display the data field as text field.
Type
Specifies whether to render the field as a normal text field or to a password box.
Name
Specifies the name of the text field.
Title
Specifies the title of the text field.
Character Width
Specifies the width of the characters in the text field.
Max Length
Specifies the maximum number of the characters that can be input into the text field.
Read Only
Specifies whether or not to make the text field read-only.
Disabled
Specifies whether or not to make the text field disabled.
Note: When a data field is displayed as text field, the value you have specified for the field's font property
Vertical Alignment will no longer take effect. This is because the property is not supported in HTML standards.

Text Area
Specifies to display the data field as text area.
Name
Specifies the name of the text area.
Title
Specifies the title of the text area.
Wrap
Specifies whether or not to wrap text to the width of the text area.
Note: When a data field is displayed as text area, the value you have specified for the field's font property
Vertical Alignment will no longer take effect. This is because the property is not supported in HTML standards.
Read Only
Specifies whether or not to make the text area read-only.
Disabled
Specifies whether or not to make the text area disabled.

Checkbox
Specifies to display the data field as checkbox.
Name
Specifies the name of the checkbox.
Title
Specifies the title of the checkbox.
Disabled
Specifies whether or not to make the checkbox disabled.
Initially Checked
Specifies whether or not to check the checkbox by default.

Radio Button
Specifies to display the data field as radio button.
Name
Specifies the name of the radio button.
Title
Specifies the title of the radio button.
Disabled
Specifies whether or not to make the radio button disabled.
Initially Checked
Specifies whether or not to select the radio button by default.

Image Button
Specifies to display the data field as image button.
Scaling Mode
Specifies the scaling mode of the image. This option is enabled when Original Size is unchecked (false). The mode
can be:
● Actual Size: The image will be shown in its actual size.

● Fit Image: The image will be scaled largest under the limitation of Max Ratio to wholly show in the field.

● Fit Width: The image will be scaled largest under the limitation of Max Ratio to fit the width of the field.

● Fit Height: The image will be scaled largest under the limitation of Max Ratio to fit the height of the field.

● Customize: The image size will be equal to the field size.

Name
Specifies the name of the image button.
Alternate text
If the image cannot be displayed, this attribute value will be used as the alternate text.
Title
Specifies the title of the image button.
Max Ratio
Specifies the scaling ratio of the image button.
Width
Specifies the width of the image button, applying if Scaling Mode is set to Customize. This option is enabled when
Original Size is unchecked (false).
Height
Specifies the height of the image button, applying if Scaling Mode is set to Customize. This option is enabled when
Original Size is unchecked (false).
Original Size
Specifies whether or not to show the image button in its original size.
Disabled
Specifies whether or not to make the image button disabled.

Button
Specifies to display the data field as button.

Name
Specifies the name of the button.
Title
Specifies the title of the button.
Value
Specifies the value of the button.
From Database
Specifies to get the value of the button from database.
Disabled
Specifies whether or not to make the button disabled.
Note: When a data field is displayed as button, the value you have specified for the field's font property Vertical
Alignment will no longer take effect. This is because the property is not supported in HTML standards.

Submit
Specifies to display the data field as submit button.

Name
Specifies the name of the submit button.
Title
Specifies the title of the submit button.
Value
Specifies the value of the submit button.
From Database
Specifies to get the value of the submit button from database.
Disabled
Specifies whether or not to make the submit button disabled.

Reset
Specifies to display the data field as reset button.

Name
Specifies the name of the reset button.
Title
Specifies the title of the reset button.
Value
Specifies the value of the reset button.
From Database
Specifies to get the value of the reset button from database.
Disabled
Specifies whether or not to make the reset button disabled.

Hidden
Specifies to render the data field as hidden field.

Name
Specifies the name of the hidden field.
Value
Specifies the name of the hidden field.
Edit Conditions dialog
This dialog helps you to edit a condition for the selected field for adding conditional format. It contains the
following two modes:
● Basic

● Advanced

Advanced/Basic
Switches the dialog to the advanced/basic mode.
OK
Applies the settings and exits the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.

Basic mode
The basic mode provides function for creating simple filter conditions which are connected by the AND and
OR operators.
Deletes the current condition line.
Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.
● =
Equal to

● >
Greater than
● >=
Greater than or equal to

● <
Less than

● <=
Less than or equal to

● !=
Not equal to

● [not] in
Causes an enumerated list of values to appear in the WHERE clause predicate, used for evaluating for a
true condition.

● [not] like
Like string pattern matching operator is used to compare the first expression string value to the pattern
string (the second expression). If you want to use wildcard character in the pattern string, only "_" and
"%" are supported.

● [not] between
Allows the system to evaluate whether or not data values are located between a range of values indicated
in the predicate.

● is [not] null
It is used in WHERE clause predicates to match null values occurring in a specified data field.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or select
a value from the drop-down list. When you type in the value manually, if multiple values are required, they
should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\\".
Logic
Lists the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line.

Advanced mode
The advanced mode enables the building of more complex filter conditions via the grouping of conditions.
Add Condition
Adds a new condition line.
Delete
Deletes the selected condition line.
Group
Makes the selected conditions in one group. Conditions can also be added to an existing group by selecting
the conditions and the group while holding the Ctrl button, and then clicking the Group button.
Ungroup
Makes the selected condition ungrouped.
Up
Moves the selected condition or group up to a higher level.
Down
Moves the selected condition or group down to a lower level.
Logic
Specifies the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line

● AND NOT
Logic operator AND NOT which is applied to this and the next line.

● OR NOT
Logic operator OR NOT which is applied to this and the next line.

Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or select
a value from the drop-down list. When you type in the value manually, if multiple values are required, they
should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\\".
Condition Expression
Displays the SQL statement of the filter condition.
Edit Measure dialog
This dialog helps you to edit an existing measure object.

Measure Name
Specifies the display name of the measure object.
Mapping Name

Specifies the mapping name of the field to which the measure object is mapped. Click to select the
field in the Select Resource dialog.

This option and the button are disabled when you specify to create a measure object on a dynamic
formula.
Aggregate
Specifies the aggregate function of the measure object. The function will be applied according to the
group where the measure is placed or the entire report if placed in the report header or footer.
● Count
This function computes the number of values referred to by the argument.

● Sum
This function computes the sum of all the values referred to by the argument.

● Average
The function is used to get the average value of the values referred to by the argument.
● Maximum
This function returns the highest value referred to by the argument.

● Minimum
This function returns the lowest value referred to by the argument.

● DistinctCount
This function computes the number of distinct values referred to by the argument.

● PopulationVariance
This function computes the population variance of the values referred to by the argument.

● StdDev
This function computes the standard deviation of the values referred to by the argument.

● Variance
This function computes the variance of all the values referred to by the argument.

OK
Applies the changes to the measure object and closes the dialog.
Cancel
Cancels the operation and closes the dialog.
Help
Displays this help document.
Encoding dialog
When a report designer links a trigger field of a master report to a detail report in JReport Designer, if
he or she hasn't checked the option Use the same encoding and DB settings for the detail report as
that of the mater report, then when the report is published to JReport Server and run in JReport
Viewer, when you click the trigger field, this dialog will be displayed for you to specify the encoding for
the detail report.

Report Set
Displays the path and name of the current report set.
Catalog
Displays the path and name of the current catalog.
Enable Converting Encoding
Specifies to enable the conversion of encoding. From the Before Converting and After Converting drop-
down lists, select the encoding as required.
Encoding
Specifies the encoding for the detail report.
Connect to [Data Source Name]
Specifies the DB user and password with which you want to connect to the data source used by the
detail report.
● Use the DB user and password defined in catalog
If checked, the DB user and password defined in the catalog will be used.

● Use the DB User


If checked, specify another DB user and password instead of the one defined in the catalog.

OK
Closes this dialog and applies the settings to run the detail report.
Cancel
Closes this dialog and runs the detail report without regard to the settings.
Help
Displays this help document.
Enter Values dialog
The dialog helps you to specify multiple values for a parameter.

Available Values
Lists all predefined parameter values for selection. When the parameter is bound with a column, but
the Display Column is different from the Bind Column, values of the Display Column are listed here.
Selected Values
Lists the values selected. The selected values are case sensitive.

Adds the selected values from the Available Values box to the Selected Values box.

Removes the selected values from the Selected Values box.


Adds all the selected values from the Available Values box to the Selected Values box.

Removes all the selected values from the Selected Values box.
Enter Values
This option is available when the parameter's Allow Type-in of Value property is set to true in JReport
Designer.
Enter a value manually in the text box and then click the button next to add the value to the Selected
Values box. When the parameter is bound with a column, but the display column is different from the
bind column, make sure the value you enter is that of the bind column.
All
If selected, it means that the parameter value result is all the values in the DBMS. This option is
available when the parameter's Enable the "All" Option property is set to true in JReport Designer. This
is translated in SQL to remove the parameter which may select more values than listed in the available
values list.
For example, when the parameter query is:
SELECT CUSTOMERS.CUSTOMERID,CUSTOMERS.CUSTOMERNAME FROM CUSTOMERS where CUSTOMERS.
CUSTOMERID>0 and CUSTOMERS.CUSTOMERID<4

When you click to add 1, 2 and 3 as the parameter values, which are all the available values, the
SQL is:
(CUSTOMERS.CUSTOMERID IN ( 1,2,3))

Run the same report again and this time check the All checkbox in the Enter Values dialog, the query is
then:
( 1 = 1)

In this case, you will get more customers even though available values are only 1 – 3.
Note: When a multi-value parameter is inserted as a field into a report and All is selected as the value,
the field will show the string "All" which represents all the values in the DBMS.
OK
Applies the selected values to the parameter and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Export dialog
This dialog helps you to set settings for exporting the report result to different formats.

Select Report Result Format


Specifies the format to which the report result will be exported.
View Report Result
If selected, the result will be directly opened in the web browser if the format is supported by a plug-in
of the web browser; otherwise you will be prompted to save the result file.
Save to File System
If selected, the web browser will prompt you to save the result file to a specified folder.
Save to Version System
If selected, the report result will be saved as a result version in JReport Server's versioning system.
File Name
Specifies the name of the result file.
More/Less Options
Shows/Hides the additional settings for exporting the report to the specified format.
● Style Group
Specifies the style group that will be applied to the exported result. When the No Style item in the
Style Group drop-down list is selected, the style group property predefined for specific export format in
JReport Designer will be applied to export the report result to that format.

● Properties
Specifies the properties for the selected format:
❍ PDF

❍ HTML

❍ Excel

❍ Text

❍ RTF

❍ XML

❍ PostScript

❍ DHTML Result
■ Zip Result
Specifies to compress the result and its size would be smaller.

OK
Exports the report with the settings you specified.
Cancel
Cancels the operation and closes this dialog.
Help
Displays this help document.
Filter Control Properties dialog
This dialog helps you to edit the properties of a filter control. It contains the following tabs:
● General tab

● Font tab

● Border tab

● Title tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the filter control.
Name
Specifies the name of the filter control.
Position
Displays the position mode of the filter control. If the filter control is directly contained in the report body, a
tabular cell, or a text box, its position mode can be modified.
● Absolute: The filter control's position will be decided by its X and Y property values.

● Static: The filter control will be positioned at the default location in its container. If selected, the X, Y and
other position-related properties will be hidden or disabled.

● Relative: The filter control will be positioned according to its default location and the X and Y property
values.

Format
Specifies the field value format in the filter control.
Filter On

Displays the field that the filter control is based on. You can click the button to open the Select Field
dialog to select another field.

Apply To
Specifies the components to which the filter created with the filter control will be applied.
X
Specifies the X coordinate of the filter control.
Y
Specifies the Y coordinate of the filter control.
Width
Specifies the width of the filter control.
Height
Specifies the height of the filter control.
Background
Specifies the background color of the filter control.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB. If you want to make the background transparent, input
Transparent in the text box.
Foreground
Specifies the foreground color of the filter control.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB.
Show Title
Specifies whether to show the title of the filter control.

Font tab
This tab shows the font-related information of the text in the filter control.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Italic
Specifies whether to make the text italic or not.

Border tab
This tab shows information about borders of the filter control.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Title tab
This tab shows information about the title of the filter control. It is available when the Show Title option is
selected in the General tab of the same dialog.

Text
Specifies the text of the title.
● Auto Map Field Name
Specifies whether to use the field name as the title. If selected, the Text box above is disabled for
inputting.

Background
Specifies the background color of the title.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB. If you want to make the background transparent, input
Transparent in the text box.
Foreground
Specifies the foreground color of the title.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Italic
Specifies whether to make the text italic or not.
Filter dialog
This dialog helps you to set criteria for filtering records in a report. It has the following two modes:
● Basic

● Advanced

Advanced/Basic
Switches the dialog to the advanced/basic mode.
OK
Accepts the changes, and regenerates the result using the filter settings with this dialog closed.
Cancel
Cancels the operation and closes this dialog.
Apply
Accepts the changes in the current tab, and regenerates the result using the filter settings.
Reset
Restores this dialog to its opening status.
Help
Displays this help document.

Basic mode
The basic mode provides function for creating simple filter conditions which are connected by the AND and
OR operators.
Apply to
Specifies the object to which the filter will be applied.

Deletes the current condition line.


Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.
● =
Equal to

● >
Greater than

● >=
Greater than or equal to

● <
Less than

● <=
Less than or equal to

● !=
Not equal to

● [not] in
Causes an enumerated list of values to appear in the WHERE clause predicate, used for evaluating for a
true condition.

● [not] like
Like string pattern matching operator is used to compare the first expression string value to the pattern
string (the second expression). If you want to use wildcard character in the pattern string, only "_" and
"%" are supported.

● [not] between
Allows the system to evaluate whether or not data values are located between a range of values indicated
in the predicate.

● is [not] null
It is used in WHERE clause predicates to match null values occurring in a specified data field.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or select
a value from the drop-down list. When you type in the value manually, if multiple values are required, they
should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\\".
Logic
Lists the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line.

Advanced mode
The advanced mode enables the building of more complex filter conditions via the grouping of conditions.
Apply to
Specifies the object to which the filter will be applied.
Add Condition
Adds a new condition line.
Delete
Deletes the selected condition line.
Group
Makes the selected conditions in one group. Conditions can also be added to an existing group by selecting
the conditions and the group while holding the Ctrl button, and then clicking the Group button.
Ungroup
Makes the selected condition ungrouped.
Up
Moves the selected condition or group up to a higher level.
Down
Moves the selected condition or group down to a lower level.
Logic
Specifies the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line

● AND NOT
Logic operator AND NOT which is applied to this and the next line.

● OR NOT
Logic operator OR NOT which is applied to this and the next line.

Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or select
a value from the drop-down list. When you type in the value manually, if multiple values are required, they
should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\\".
Condition Expression
Displays the SQL statement of the filter condition.
Format Label dialog
This dialog helps you to format labels in a chart. It contains the following tabs:
● General tab

● Border tab

● Font tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the label.
Name
Specifies the display name of the label, which will be shown on the shortcut menu of the label.
Text
Specifies the label text.
X
Specifies the X coordinate of the label.
Y
Specifies the Y coordinate of the label.
Width
Specifies the width of the label.
Height
Specifies the height of the label.
Alignment
Specifies the alignment mode of the chart label.
Fill Type
Specifies the type for filling the label.
Color
Indicates the background color of the label.
To change the color, click the color indicator to access the Select Color dialog, and then specify a new color, or input a
color string in the format #RRGGBB. If you want to make the background transparent, input Transparent in the text
box.
Transparency
Specifies the transparency of the label background.

Border tab
This tab shows information about borders of the label.
Line Style
Specifies the style of the label borders.
Border Type
Specifies the border type.
Color
Specifies the color of the label borders.
Transparency
Specifies the transparency of the label borders.
Thickness
Specifies the thickness of the label borders.

Font tab
This tab shows the font-related information of the label.
Font
Specifies the font face of the label text.
Size
Specifies the font size of the label text.
Fill Type
Specifies the fill type of the label text.
Color
Specifies the color of the label text.
Transparency
Specifies the transparency of the label text.
Font Style
Specifies the font style of the label text.
Font Effect
Specifies the font effect of the label text.
Font Underline
Specifies the style of the line under the label text.
Font Strikeout
Specifies whether or not to attach a strikeout line to the label text.
Font Rotation
Specifies the rotation angle of the label around its center, in degrees.
Font Shearing
Specifies the shearing transformation of the label around its center, in degrees.
Word Wrap
Specifies whether or not to enable word wrapping for the label text.
Format Legend dialog
This dialog helps you to format the legend of a chart. It contains the following tabs:
● General tab

● Placement tab

● Border tab

● Font tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the chart legend.
Name
Specifies the display name of the chart legend, which will be shown on the shortcut menu of the legend.
X
Specifies the X coordinate of the chart legend.
Y
Specifies the Y coordinate of the chart legend.
Width
Specifies the width of the chart legend.
Height
Specifies the height of the chart legend.
Fill Type
Specifies the type for filling the chart legend.
Color
Indicates the background color of the chart legend.
To change the color, click the color indicator to access the Select Color dialog, and then specify a new color, or input a
color string in the format #RRGGBB. If you want to make the background transparent, input Transparent in the text
box.
Transparency
Specifies the transparency of the legend background.
Show Value
Specifies whether to show the value of each legend.
Show Percent
Specifies whether to show the percentage of each legend.
Show Tips
Specifies whether to show the corresponding data information when the mouse pointer points at a target in the chart
legend.

Placement tab
This tab shows the position-related information of the chart legend.

Placement
Specifies the position of the legend in the platform.
Secondary Placement
Specifies the position of the legend on the basis of the Placement property.
Label Vertical Spacing
Specifies the vertical distance between two adjacent legend labels.
Label Horizontal Spacing
Specifies the horizontal distance between two adjacent legend labels.
Top Margin
Specifies the distance between the legend labels and the top border of the legend.
Bottom Margin
Specifies the distance between the legend labels and the bottom border of the legend.
Left Margin
Specifies the distance between the legend labels and the left border of the legend.
Right Margin
Specifies the distance between the legend labels and the right border of the legend.
Reverse Labels
Specifies whether or not to arrange the legend labels in a reverse order.

Border tab
This tab shows information about borders of the chart legend.
Line Style
Specifies the line style of the legend borders.
Border Type
Specifies the type of the legend borders.
Color
Specifies the color of the legend borders.
Transparency
Specifies the transparency of the legend borders.
Thickness
Specifies the thickness of the legend borders.

Font tab
This tab shows the font-related information of the chart legend.

Font
Specifies the font face of the legend labels.
Size
Specifies the font size of the legend labels.
Fill Type
Specifies the fill type of the legend labels.
Color
Specifies the color of the legend labels.
Transparency
Specifies the transparency of the legend labels.
Font Style
Specifies the font style of the legend labels.
Font Effect
Specifies the font effect of the legend labels.
Font Underline
Specifies the style of the line under the legend labels.
Font Strikeout
Specifies whether or not to attach a strikeout line to the legend labels.
Font Rotation
Specifies the rotation angle of each legend label around its center, in degrees.
Font Shearing
Specifies the shearing transformation of each legend label around its center, in degrees.
Word Wrap
Specifies whether or not to enable word wrapping for the label text.
Format Paper dialog
This dialog helps you to format the paper of a chart. It contains the following tabs (some tabs may be not applicable
for certain chart types):
● General tab

● Border tab

● Coordinate tab

● Graph tab

● Threshold Line tab

● Axis X tab

● Axis Y tab

● Axis Z tab

● Bullet tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the chart paper.
Name
Specifies the display name of the chart paper, which will be shown on the shortcut menu of the paper.
X
Specifies the X coordinate of the chart paper.
Y
Specifies the Y coordinate of the chart paper.
Width
Specifies the width of the chart paper.
Height
Specifies the height of the chart paper.
Fill Type
Specifies the type for filling the chart paper.
Color
Indicates the background color of the chart paper.
To change the color, click the color indicator to access the Select Color dialog, then specify a new color, or input a
color string in the format #RRGGBB. If you want to make the background transparent, input Transparent in the text
box.
Transparency
Specifies the transparency of the chart paper background.
Show Tips
Specifies whether to show the corresponding data information when the mouse pointer points at a target in the chart
paper.
Show Category and Series
Specifies whether to show data of the category and value axes when the mouse pointer points at a target in the chart
paper. It takes effect only when the option Show Tips is checked.

Border tab
This tab shows information about borders of the chart paper.

Line Style
Specifies the line style of the chart paper borders.
Border Type
Specifies the type of the chart paper borders.
Color
Specifies the color of the chart paper borders.
Transparency
Specifies the transparency of the chart paper borders.
Thickness
Specifies the thickness of the chart paper borders.

Coordinate tab
You can use this tab to view and configure properties of the coordinates.

Scale X
Specifies the scaling ratio for the X axis.
Scale Y
Specifies the scaling ratio for the Y axis.
Scale Z
Specifies the scaling ratio for the Z axis.
Angle X
Specifies the rotation angle around the X axis.
Angle Y
Specifies the rotation angle around the Y axis.
Angle Z
Specifies the rotation angle around the Z axis.
Perspective
Specifies the perspective effect of the chart. Input an integer to set the effect.
Interactive
Specifies whether the chart can be interactive or not.

Graph tab
You can use this tab to view and configure properties of the graphic object.

Line Thickness
Specifies thickness of the lines. Applies to line charts only.
Show Wall
Specifies whether or not to show the chart wall.
Show Floor
Specifies whether or not to show the chart floor.
Use Depth
Specifies whether to make the chart visually three-dimensional. Applies to 2-D bar/bench/line/area charts only.
● Depth
Specifies the depth of the bars/benches/lines/areas.

● Depth Direction
Specifies the angle of the axis along the depth of the bars/benches/lines/areas.

Static Data Label Position


Specifies the position of the static data label.
Data Label Type
Specifies in which way the value labels will be displayed around the chart section.
● Value - Shows the value for the chart section.

● Category Name - Shows the category name for the chart section. Only applies to the pie chart.

● Percent - Shows the percentage of the section to the total.

● Value and Percent - Shows the value and the percentage for the chart section.

Show Pie Name


Specifies whether or not to show the pie name.

Threshold Line tab


You can use this tab to view and configure properties of the threshold lines.
Show Threshold Line1
Specifies whether or not to show the first threshold line.
Threshold Value1
Specifies the value of the first threshold line.
Threshold Line Color1
Specifies the color of the first threshold line.
Show Threshold Line2
Specifies whether or not to show the second threshold line.
Threshold Value2
Specifies the value of the second threshold line.
Threshold Line Color2
Specifies the color of the second threshold line.
Transparency
Specifies the transparency of the threshold lines.

Axis X tab
You can use this tab to view and configure properties of the X axis.

Show Axis X
Specifies whether or not to show the X axis.
Placement
Specifies the position of the axis.
Min Value
Specifies the minimal data value that will appear on the axis.
Max Value
Specifies the maximal data value that will appear on the axis.
Increment
Specifies the increment between two adjacent values of the axis.
Use Start Value
Specifies whether or not to set the start value of the axis. This option applies to scatter and bubble charts, and only if
the value on the category axis is not numeric.
Start Value
Specifies the position from where the axis label will start to be shown.
Label Position
Specifies whether to show the label text outside or inside the axis. This option only applies to 2D chart types, and
when Use Depth is set to true, the option will be disabled.
Show Axis Label Tips
Specifies whether to display the complete label text when the mouser pointer points at a label on the axis.
Label Font Automatic Orientation
Specifies to adjust the rotation angle of the label text on the axis automatically according to the length of the label
text, in degrees.
When this option is true (checked) by default:
● If the text can be completely displayed horizontally, the default rotation angle will be 0.

● If the text can not be completely displayed horizontally, the default rotation angle will be 30 anticlockwise, and the
cut off part will be shown as suspension points.

Angle
Specifies to customize the rotation angle of the label text on the axis. Activated when Label Font Automatic
Orientation is set to false (unchecked). You can input the angle in the text box directly.

Axis Y tab
You can use this tab to view and configure properties of the Y axis.
Show Axis Y
Specifies whether or not to show the Y axis.
Placement
Specifies the position of the axis.
Min Value
Specifies the minimal data value that will appear on the axis.
Max Value
Specifies the maximal data value that will appear on the axis.
Increment
Specifies the increment between two adjacent values of the axis.
Use Start Value
Specifies whether or not to set the start value of the axis.
Start Value
Specifies the position from where the axis label will start to be shown.
Show Axis Label Tips
Specifies whether to display the complete label text when the mouser pointer points at a label on the axis.
Label Font Automatic Orientation
Specifies to adjust the rotation angle of the label text on the axis automatically according to the length of the label
text, in degrees.
When this option is true (checked) by default:
● If the text can be completely displayed horizontally, the default rotation angle will be 0.

● If the text can not be completely displayed horizontally, the default rotation angle will be 30 anticlockwise, and the
cut off part will be shown as suspension points.

Angle
Specifies to customize the rotation angle of the label text on the axis. Activated when Label Font Automatic
Orientation is set to false (unchecked). You can input the angle in the text box directly.

Axis Z tab
You can use this tab to view and configure properties of the Z axis.
Show Axis Z
Specifies whether or not to show the Z axis.
Placement
Specifies the position of the axis.
Show Axis Label Tips
Specifies whether to display the complete label text when the mouser pointer points at a label on the axis.
Label Font Automatic Orientation
Specifies to adjust the rotation angle of the label text on the axis automatically according to the length of the label
text, in degrees.
When this option is true (checked) by default:
● If the text can be completely displayed horizontally, the default rotation angle will be 0.

● If the text can not be completely displayed horizontally, the default rotation angle will be 30 anticlockwise, and the
cut off part will be shown as suspension points.

Angle
Specifies to customize the rotation angle of the label text on the axis. Activated when Label Font Automatic
Orientation is set to false (unchecked). You can input the angle in the text box directly.
Bullet tab
You can use this tab to view and configure properties of the bullets in a chart.

Featured Measure Width


Specifies the width of the featured measures, measured in a percentage of the unit width. Enter a numeric value to
change the width.
Comparative Measure Width
Specifies the width of the comparative measures, measured in a percentage of the unit width. Enter a numeric value
to change the width.
Qualitative Ranges Width
Specifies the width of the qualitative ranges, measured in a percentage of the unit width. Enter a numeric value to
change the width.
Format Platform dialog
This dialog helps you to format the platform of a chart. It contains the following tabs:
● General tab

● Border tab

● Data tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the chart platform.
Name
Specifies the display name of the platform, which will be shown on the shortcut menu of the platform.
Position
Displays the position mode of the platform. If the platform is directly contained in the report body, a tabular cell, or a
text box, its position mode can be modified.
● Absolute: The platform's position will be decided by its X and Y property values.

● Static: The platform will be positioned at the default location in its container. If selected, the X, Y and other
position-related properties will be hidden or disabled.

● Relative: The platform will be positioned according to its default location and the X and Y property values.

X
Specifies the X coordinate of the platform.
Y
Specifies the Y coordinate of the platform.
Width
Specifies the width of the platform.
Height
Specifies the height of the platform.
Fill Type
Specifies a type for filling the platform.
Color
Indicates the background color of the platform.
To change the color, click the color indicator to bring out the Select Color dialog, and then specify a new color, or
input a color string in the format #RRGGBB. If you want to make the background transparent, input Transparent in
the text box.
Transparency
Specifies the transparency of the chart background.
Show Legend
Specifies whether or not to show the legend.

Border tab
This tab shows information about borders of the chart platform.

Line Style
Specifies the line style of the platform borders.
Border Type
Specifies the type of the platform borders.
Color
Specifies the color of the platform borders.
Transparency
Specifies the transparency of the platform borders.
Thickness
Specifies the thickness of the platform borders.

Data tab
You can use this tab to view and configure properties of the chart data.

Sort Category
Specifies the sorting order for the category field values.
Sort Series
Specifies the sorting order for the series field values.
Reverse Category
Specifies whether or not to reverse the category field value sequence.
Reverse Series
Specifies whether or not to reverse the series field value sequence.
Category Start Offset
Specifies the starting offset of the categories.
Category End Offset
Specifies the ending offset of the categories.
Series Start Offset
Specifies the starting offset of the series.
Series End Offset
Specifies the ending offset of the series.
Category Value Encoding
Specifies the encoding format for values on the category axis. Formats here usually refer to the following: BIG5,
EUCJIS, GBK, UTF8, and XXXXX....
Series Value Encoding
Specifies the encoding format for values on the series axis. Formats here usually refer to the following: BIG5, EUCJIS,
GBK, UTF8, and XXXXX....
Swap Data Group
Specifies to display values from different data fields by switching data between the category and series axes, the
category and values axes.

Others tab
You can use this tab to view and configure some miscellaneous settings.
TOC Anchor
Specifies whether or not to add the node that represents the platform to the TOC tree that is displayed in the TOC
Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the platform will not be displayed.
Export to XLS
If true (checked), the platform will be exported when you save the report result as an XLS file (make sure to check
Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the platform will be exported when you save the report result as a TXT file with Delimited Format
selected.
Formula Editor dialog
This dialog helps you to create a dynamic formula in a report.

Formula Name
Specifies the name of the formula.
Fields box
Displays a list of those fields that are available for formulas. The fields include the dimension objects and detail information objects in the
current business/report cube, and the dynamic formulas and measures that have been created in the report. You can select one field and
double-click it to insert the field into the formula text panel at the insertion point.
Functions box
Displays a list of JReport functions that are available for formulas. When you select one function and double-click it, JReport will insert the
selected function into the formula text panel at the insertion point completely with its required syntax items (parentheses, commas, etc).
For details about usage of the functions, refer to Built-in functions in the JReport Designer User's Guide.
Operators box
Displays a list of operators that are available for formulas. Select one operator and double-click it to insert the selected operator into the
formula text panel at the insertion point.
For details about usage of the operators, refer to Operators in the JReport Designer User's Guide.
Formula text panel
In this panel, you can build and edit your formula. There are several ways to work with formulas:
● Select formula components from the Fields, Functions and Operators panels in the Formula Editor, and then double-click the components,
JReport will then insert them in the formula;

● Type your formula in the formula text panel directly;

● Use the above two methods together;

● Paste formula text from the text document of other programs.

Note: If you refer to any field in the formula, the reference name for that field will be prefixed with an @ sign. If the field name contains
spaces, the reference name in formula will be quoted with double-quotation marks (""). For example, if the field name is Customer Name,
then the reference name will be @"Customer Name".

Check
Tests the syntax of your formula. If the syntax is incorrect, JReport provides an opportunity to correct the errors.

Add Operators
Selects a general operator to be used in the Formula Text panel.

Color Converter
A color palette is provided for you to insert the HEX code of a color simply by clicking the corresponding color in the color palette instead of
inputting the HEX code manually.
OK
Creates the formula and adds it to the Resource View panel.
Cancel
Doesn't add the formula and closes the dialog.
Help
Displays this help document.
Group Properties dialog
This dialog helps you to edit the properties of a group object. It contains the following tabs:
● General tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the group object.
Expand Detail Data
Specifies whether to expand or collapse the detailed records in the group level.
Keep Group Together
Specifies whether or not to try to keep groups wholly in a report page (try not to make a group across two pages).
Repeat While Group Footer
If the group header is set to be repeated, you can specify whether or not to still repeat the group header when a
page break occurs on the group footer.
Shrink Footer
Specifies whether or not to shrink the group footer when you shrink detailed records in the group level.
Special Function
Specifies a special function for the group level to group. This option is available only when the group field is of
Date/Time type.
Select Type
Specifies the type for Select N condition:
● ALL: The Select N condition will not take effect, and all groups will be retrieved.

● TOP_N: The first N groups of the group level will be displayed. Herein N is what you type in the Select N text
box.

● BOTTOM_N: The last N groups of the group level will be displayed. N is the integer you type in the Select N
text box.

Select N
If you want only the first or last several groups of the group level to be displayed, you can type an integer which
will be the number of groups to be displayed.
Sort
Specifies a sorting direction for the groups of the group level.

Others tab
You can use this tab to view and configure some miscellaneous settings.
TOC Anchor
Specifies whether or not to add the node that represents the object to the TOC tree that is displayed in the TOC
Browser.
Image Properties dialog
This dialog helps you to edit the properties of an image. It contains the following tabs:
● General tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the image.
Name
Specifies the display name of the image, which will be shown on the shortcut menu of the image.
Picture Name
Displays the image file name.
Scaling Mode
Specifies the scaling mode for the image. The mode can be:
● Actual Size: The image will be shown in its actual size.

● Customize: The image size will be equal to the image field size.

● Fit Image: The image will be scaled largest to wholly show in the image field.

● Fit Width: The image will be scaled largest to fit the width of the image field.

● Fit Height: The image will be scaled largest to fit the height of the image field.

Horizontal Alignment
Specifies the horizontal alignment of the image in its container.
Vertical Alignment
Specifies the vertical alignment of the image in its container.
Rotation
Rotates the image at a specified angle in degrees. The following is the meaning of different values:
● 0 - No rotation.

● Positive value - Rotate the image clockwise.

● Negative value - Rotate the image anticlockwise.

Note: When you rotate an image, the rectangle that holds the image maintains its original size, which may
result in that the image exceeds the field border and therefore the parts that extend outside of the border
will be cut off.
X
Specifies the X coordinate of the image.
Y
Specifies the Y coordinate of the image.
Width
Specifies the width of the image.
Height
Specifies the height of the image.
Alt
Specifies the alternate text which will be shown if the image cannot be displayed.
Title
Specifies tip information about the image, which will be displayed when the mouse cursor hovers on the
image.

Others tab
You can use this tab to view and configure some miscellaneous settings.
TOC Anchor
Specifies whether or not to add the node that represents the image to the TOC tree that is displayed in the
TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the image will not be displayed.
Export to XLS
If true (checked), the image will not be exported when you save the report result as an XLS file (make sure
to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the image will not be exported when you save the report result as a TXT file with Delimited
Format selected.
Insert Detail Column dialog
The dialog helps you to insert a new detail column into a table.

Resources
Lists all the available data resources for the new detail column. Select the resource you want from the
list.
OK
Inserts the column with the specified resource and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Insert Filter Control dialog
The dialog helps you to insert a filter control into a report for filtering all data components in the report
(excluding its subreport) using the same data source.

Filter On
Specifies a field on which the filter control is based.
OK
Inserts a filter control into the report and closes the dialog.
Cancel
Cancels the operation and closes the dialog.
Help
Displays this help document.
Insert Group Column dialog
The dialog helps you to insert new group columns into a table.

Resources
Lists all the available data resources for new group columns.

Adds the selected field to be used to group data in the table.

Removes the selected group by field.


Group By
Lists the fields that are used to group data in the table.
Sort
Specifies how groups at the specific group level will be sorted.
● Ascend
Groups will be sorted in an ascending order (A, B, C).

● Descend
Groups will be sorted in a descending order (C, B, A).

● No Sort
Groups will be sorted in the original order in database.

Group Above
Specifies to place the selected group by field above the detail information.
Group Left Above
Specifies to place the selected group by field left above the detail information.
Group Left
Specifies to place the selected group by field left to the detail information.

Moves the selected group by field one step up.

Moves the selected group by field one step down.


OK
Inserts the group columns and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Insert Image dialog
This dialog helps you to insert an image into a report.

Image From
Specifies the source of the image file.
● Local File
Specifies to use an image from the local file system. The types and size of the images that can be
used are defined by the administrator in the Upload panel.

❍ File Name
Specifies the path and name of the image file. You can click the Browse button to locate the image
file.
● Web URL
Specifies to use an image via URL.
❍ Image URL
Specifies the URL of the image file. JReport will record the latest 10 entered URLs in the drop-down
list.

Note: If your JReport Server is in an intranet, to successfully access the image via URL, you
need to add the parameters -Dhttp.proxyHost=XXX -Dhttp.proxyPort=XX to the server's
startup file JRServer.bat, which locates in <install_root>\bin.

● Library
Specifies to use an existing image.
❍ My Images
The My Images folder is a virtual location where JReport Server stores the images that have once
been inserted into reports. Select the one you want to use.

❍ Preview
Displays a preview of the selected image.

OK
Inserts the image in the report and closes the dialog.
Cancel
Cancels the insertion and closes the dialog.
Help
Displays this help document.
Insert Parameter Control dialog
The dialog helps you to insert a parameter control into a report for delivering parameter values to the
report.

Select a Parameter
Specifies a parameter from the list where all the parameters except cascading parameters used by the
current report are displayed.
OK
Inserts a parameter control into the report and closes the dialog.
Cancel
Cancels the operation and closes the dialog.
Help
Displays this help document.
Insert Parameter Form Control dialog
The dialog helps you to insert a parameter form control into a report for running report sets from the
current report.

Please Select Target Reports


Specifies the report sets to run.
● Current Report
Specifies to run the current report set with the specified parameters.
❍ Select Parameters
Specifies the parameters that are used to run the current report set. Once you select one of a
group of cascading parameters, all the other parameters in the cascading group will be selected
automatically, and vice versa.

● Others
Specifies to run other report sets.
❍ Report Sets
Specifies the target report sets to run. If all the selected report sets contain no parameters, you
cannot finish the dialog.

❍ Parameter Information
Lists the parameters used by the selected report sets.

Include "Submit" Button


Specifies whether the inserted parameter form control contains the Submit button. If Submit is
included, it is used to submit the parameter values you specified in the parameter form control. If
Submit is not included, once you change the values of a parameter in the parameter form control, the
new values will be applied automatically.
OK
Inserts a parameter form control into the report and closes the dialog.
Cancel
Cancels the operation and closes the dialog.
Help
Displays this help document.
Insert Summary Column dialog
The dialog helps you to insert a new summary column into a table.

Resources
Lists all the available data resources for the new summary column. Select the resource you want from
the list.
OK
Inserts the column with the specified resource and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Label Properties dialog
This dialog helps you to edit the properties of a label. It contains the following tabs:
● General tab

● Font tab

● Border tab

● Others tab

● Display tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the label.
Name
Specifies the display name of the label, which will be shown on the shortcut menu of the label.
Position
Displays the position mode of the label. If the label is directly contained in the report body, a tabular cell, or a
text box, its position mode can be modified.
● Absolute: The label's position will be decided by its X and Y property values.

● Static: The label will be positioned at the default location in its container. If selected, the X, Y and other
position-related properties will be hidden or disabled.

● Relative: The label will be positioned according to its default location and the X and Y property values.

Text
Specifies the text of the label.
X
Specifies the X coordinate of the label.
Y
Specifies the Y coordinate of the label.
Width
Specifies the width of the label.
Height
Specifies the height of the label.
Top Padding
Specifies the space between the text of the label and its top border.
Bottom Padding
Specifies the space between the text of the label and its bottom border.
Left Padding
Specifies the space between the text of the label and its left border.
Right Padding
Specifies the space between the text of the label and its right border.
Background
Specifies the background color of the label.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color, or
input a color string in the format #RRGGBB. If you want to make the background transparent, input Transparent
in the text box.
Foreground
Specifies the foreground color of the label.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color, or
input a color string in the format #RRGGBB.

Font tab
This tab shows the font-related information of the label.
Font
Specifies the font face of the label text.
Size
Specifies the font size of the label text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the label.
Vertical Alignment
Specifies the vertical alignment mode of the text in the label.
Bold
Specifies whether to make the label text bold or not.
Underline
Specifies whether the label text will be underlined or not.
Strikethrough
Specifies whether or not to attach a strikeout line to the label text.
Italic
Specifies whether to make the label text italic or not.
Autofit
Specifies whether or not to automatically adjust the width of the label.
Word Wrap
Specifies whether or not to wrap the text to the label width.
Ignore HTML Tag
If this option is unchecked, JReport will parse HTML tag elements in the field value while the report set is to be
saved as an HTML file; or the field value will appear in the HTML file the same as that in JReport Viewer (HTML
tag elements in the field value, if any, will not be parsed).

Border tab
This tab shows information about borders of the label. You can modify all the border settings in this tab.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Shadow
Specifies whether the borders will have a shadow effect or not.
Shadow Color
Specifies the color of the border shadow.

Others tab
You can use this tab to view and configure some miscellaneous settings.
TOC Anchor
Specifies whether or not to add the node that represents the label to the TOC tree that is displayed in the TOC
Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the label will not be displayed.
Export to XLS
If true (checked), the label will be exported when you save the report result as an XLS file (make sure to check
Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the label will be exported when you save the report result as a TXT file with Delimited Format
selected.
Logic Column
Specifies whether to show the label in the next visible table cell in the same row when the column which holds the
label is hidden.
Display tab
You can use this tab to modify the display type of the label. For details, see the Data Field Properties dialog.
Max Records dialog
This dialog allows you to set the maximum number of records for components to retrieve.

Max Records
Specifies the maximum record number. All means that all records will be retrieved, Top 10/20/50/100
means that the first 10/20/50/100 records will be retrieved, and you can directly input a number here
to retrieve the corresponding first records.
Note: If any filter condition has been set on the component, which will filter out some records, the
number of retrieved records may not accord with the number set for Max Records.
OK
Applies the settings to report components and closes this dialog.
Cancel
Discards the settings and closes this dialog.
Help
Displays this help document.
Multivalue Container Properties dialog
This dialog helps you to edit the properties of a multivalue container. It contains the following tabs:
● General tab

● Font tab

● Border tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the multivalue container.
Name
Specifies the display name of the multivalue container, which will be shown on its shortcut menu.
Position
Specifies the position mode of the multivalue container. If the multivalue container is directly contained
in the report body, a tabular cell, or a text box, its position mode can be modified.
● Absolute: The multivalue container's position will be decided by its X and Y property values.

● Static: The multivalue container will be positioned at the default location in its container. If selected,
the X, Y and other position-related properties will be hidden or disabled.

● Relative: The multivalue container will be positioned according to its default location and the X and Y
property values.

X
Specifies the X coordinate of the multivalue container.
Y
Specifies the Y coordinate of the multivalue container.
Width
Specifies the width of the multivalue container.
Height
Specifies the height of the multivalue container.
Background
Specifies the background color of the multivalue container.
To change the color, click the color indicator to access the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.
Foreground
Specifies the foreground color of the multivalue container.
To change the color, click the color indicator to access the Select Color dialog and then specify a new
color, or input a color string in the text box.

Font tab
This tab shows the font-related information of the multivalue container.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Bold
Specifies whether to make the text bold or not.
Italic
Specifies whether to make the text italic or not.

Border tab
This tab shows information about borders of the multivalue container.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Others tab
You can use this tab to view and configure some miscellaneous settings.

TOC Anchor
Specifies whether or not to add the node that represents the multivalue container to the TOC tree that
is displayed in the TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the multivalue container will not be
displayed.
Export to XLS
If true (checked), the multivalue container will be exported when you save the report result as an XLS
file (make sure to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the multivalue container will be exported when you save the report result as a TXT
file with Delimited Format selected.
Navigation Control Properties dialog
This dialog helps you to edit the properties of a navigation control. It contains the following tabs:
● General tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the navigation control.
Name
Specifies the name of the navigation control.
Position
Displays the position mode of the navigation control. If the navigation control is directly contained in the
report body, a tabular cell, or a text box, its position mode can be modified.
● Absolute: The navigation control's position will be decided by its X and Y property values.

● Static: The navigation control will be positioned at the default location in its container. If selected, the X, Y
and other position-related properties will be hidden or disabled.

● Relative: The navigation control will be positioned according to its default location and the X and Y
property values.

X
Specifies the X coordinate of the navigation control.
Y
Specifies the Y coordinate of the navigation control.
Width
Specifies the width of the navigation control.
Height
Specifies the height of the navigation control.
Background
Specifies the background color of the navigation control.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB. If you want to make the background transparent, input
Transparent in the text box.

Border tab
This tab shows information about borders of the navigation control.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
New Report dialog
This dialog helps you to append a new report to the current report set.

Report Title
Specifies the title of the report.
Choose Report Layout
Lists the report layouts on which you can create your report.
● Banded
Creates a report containing a banded object.

● Table
Creates a report containing a table.

● Chart
Creates a report containing a chart.

● Crosstab
Creates a report containing a crosstab.

● Blank
Creates a report with nothing in it.

OK
Closes this dialog, and in accord with the selected report layout, the corresponding report wizard will be
displayed, or a blank report will be created.
Cancel
Closes this dialog without creating a report.
Help
Displays this help document.
New Report Set dialog
This dialog helps you to create a new report set that contains one report.

Report Title
Specifies the title of the report.
Choose Report Layout
Lists the report layouts on which you can create your report.
● Banded
Creates a report containing a banded object.

● Table
Creates a report containing a table.

● Chart
Creates a report containing a chart.

● Crosstab
Creates a report containing a crosstab.

● Blank
Creates a report with nothing in it.

OK
Closes this dialog, and in accord with the selected report layout, the corresponding report wizard will be
displayed, or a new report set will be created with a blank report.
Cancel
Closes this dialog without creating a report set.
Help
Displays this help document.
New Toolbar Name dialog
This dialog helps you to input the name for the new toolbar.

Name
Specifies the name of the new toolbar.
A valid toolbar name:
● Can only contain alphanumeric characters, underlines and spaces (except for at the beginning or end
of the name).

● Cannot be the same as that of an existing toolbar.

OK
Accepts a valid name (see above), and returns to the Options dialog.
Cancel
Closes this dialog without creating a new toolbar.
Help
Displays this help document.
Open Report dialog
This dialog helps you to open or hide reports in the current report set, and shows the display name and
description of each report.

In this dialog, the open reports in the current report set are marked with a check symbol. To change
the display state of the reports in the report set, check those reports to be opened, uncheck those to
be closed, and then click the OK button.
Display Name
Shows the display names of the reports in the report set.
Instance Name
Shows the instance names of the reports in the report set.
Description
Shows the descriptions of the reports if any.
OK
Closes this dialog, opens the selected reports, and closes those deselected.
Cancel
Closes this dialog without changing the report display state.
Help
Displays this help document.
Options dialog
This dialog helps you to set the user interface of JReport Viewer. It contains the following tabs:
● Option tab

● Customize tab

Restore Defaults
Restores the default settings.
OK
Applies the settings and closes the Options dialog.
Cancel
Cancels the settings and closes the Options dialog.
Help
Displays this help document.

Option tab
This tab allows you to specify the skin of JReport Viewer user interface.
Skin
Specifies the skin of the JReport Viewer user interface. The skin can be the Standard, Classical, or
Windows XP style.

Customize tab
This tab allows you to customize the toolbars in JReport Viewer.
Current Toolbar
Lists all the available toolbars. If you want to customize a toolbar, click it to select.

Displays the New Toolbar Name dialog for you to input the name for the new toolbar. The new toolbar
name will then be displayed in the Current Toolbar list box.

Removes the selected toolbar.


Available Tools
Displays the tools that you can add to the toolbars. The tools available in the box are determined by
which profile is applied.

Selected Tools
Displays the tools of the toolbar selected in the Current Toolbar list box in the order that they will
appear (from left to the right) on the toolbar.
Adds the selected tool from the Available Tools list box to the Selected Tools list box.

Removes the selected tool.

Empties the contents of the Selected Tools list box.

Adds all the available tools from the Available Tools list box to the Selected Tools list box.

Adjusts the location of the selected tool by moving it to the left on the toolbar.

Adjusts the location of the selected tool by moving it to the right on the toolbar.
Order/Select N dialog
This dialog helps you to set the sort order and the Select N condition in a chart.

Order
Specifies in which order data on the category/series axis of a chart will be displayed.
● Ascending
Lists data in an ascending order.

● Descending
Lists data in a descending order.

● No Sort
Keeps the data in their original order.

Select N
Specifies the Select N condition to define the number of category/series values that will be displayed
while others are hidden.
● Select N
❍ All
If selected, all category/series values in the chart will be displayed.

❍ Top
If selected, specify a number in the text box to the right and the first N category/series values in
the chart will be displayed.

❍ Bottom
If selected, specify a number in the text box to the right and the last N category/series values in
the chart will be displayed.

● Based On
If checked, the category/series values will be sorted by the values of the summary selected with the
direction specified. If unchecked, the category/series values will be sorted by the order specified in
the Order box of the dialog.

● Other
Enabled when Top or Bottom is selected from the Select N drop-down list. Check this option and then
type a character string in the text box to group all the category/series values beyond the top/bottom
N category/series values.

OK
Accepts the changes and closes the dialog.
Cancel
Discards the changes and closes the dialog.
Help
Displays this help document.
Page Properties dialog
This dialog helps you to control the report page settings.

Page
Specifies the page properties.
● Type
Specifies the paper type.

● Width
Shows the paper width. If you select the paper type as Custom size, you can input the width of the
paper here.

● Height
Shows the paper height. If you select the paper type as Custom size, you can input the height of the
paper here.

Orientation
Specifies the paper orientation.
● Portrait
Displays the report data in a portrait orientation (vertically).

● Landscape
Displays the report data in a landscape orientation (horizontally).

Margin
Specifies the margin properties.
● Top
Specifies the distance of report data to the top edge of the page.

● Left
Specifies the distance of report data to the left edge of the page.

● Bottom
Specifies the distance of report data to the bottom edge of the page.

● Right
Specifies the distance of report data to the right edge of the page.

OK
Applies all changes and closes this dialog.
Cancel
Does not retain any changes and exits this dialog.
Help
Displays this help document.
Parameter Control Properties dialog
This dialog helps you to edit the properties of a parameter control. It contains the following tabs:
● General tab

● Font tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the parameter control.
Name
Specifies the name of the parameter control.
Parameter
Displays the name of the parameter.
Format
Specifies the display format of the parameter value.
Position
Displays the position mode of the parameter control. If the parameter control is directly contained in the
report body, a tabular cell, or a text box, its position mode can be modified.
● Absolute: The parameter control's position will be decided by its X and Y property values.

● Static: The parameter control will be positioned at the default location in its container. If selected, the X, Y
and other position-related properties will be hidden or disabled.

● Relative: The parameter control will be positioned according to its default location and the X and Y
property values.
X
Specifies the X coordinate of the parameter control.
Y
Specifies the Y coordinate of the parameter control.
Width
Specifies the width of the parameter control.
Height
Specifies the height of the parameter control.
Top Padding
Specifies the space between the text of the parameter control and its top border.
Bottom Padding
Specifies the space between the text of the parameter control and its bottom border.
Left Padding
Specifies the space between the text of the parameter control and its left border.
Right Padding
Specifies the space between the text of the parameter control and its right border.
Background
Specifies the background color of the parameter control.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB. If you want to make the background transparent, input
Transparent in the text box.
Foreground
Specifies the foreground color of the parameter control.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB.

Font tab
This tab shows the font-related information of the text in the parameter control.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text.
Vertical Alignment
Specifies the vertical alignment mode of the text.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Italic
Specifies whether to make the text italic or not.

Border tab
This tab shows information about borders of the parameter control.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Parameter Field Properties dialog
This dialog helps you to edit the properties of a parameter field. It contains the following tabs:
● General tab

● Font tab

● Border tab

● Others tab

● Display tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the parameter field.
Name
Specifies the display name of the parameter field, which will be shown on the shortcut menu of the
parameter.
Position
Specifies the position mode of the parameter field. If the parameter field is directly contained in the report
body, a tabular cell, or a text box, its position mode can be modified.
● Absolute: The parameter field's position will be decided by its X and Y property values.

● Static: The parameter field will be positioned at the default location in its container. If selected, the X, Y
and other position-related properties will be hidden or disabled.

● Relative: The parameter field will be positioned according to its default location and the X and Y property
values.

Format
Specifies the data format of the parameter field.
X
Specifies the X coordinate of the parameter field.
Y
Specifies the Y coordinate of the parameter field.
Width
Specifies the width of the parameter field.
Height
Specifies the height of the parameter field.
Background
Specifies the background color of the parameter field.
To change the color, click the color indicator to access the Select Color dialog, and then specify a new color,
or input a color string in the format #RRGGBB. If you want to make the background transparent, input
Transparent in the text box.
Foreground
Specifies the foreground color of the parameter field.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the text box.

Font tab
This tab shows the font-related information of the parameter field.
Font
Specifies the font face of the field text.
Size
Specifies the font size of the field text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the parameter field.
Vertical Alignment
Specifies the vertical alignment mode of the text in the parameter field.
Bold
Specifies whether to make the field text bold or not.
Underline
Specifies whether the field text will be underlined or not.
Strikethrough
Specifies whether or not to attach a strikeout line to the field text.
Italic
Specifies whether to make the field text italic or not.
Autofit
Specifies whether or not to automatically adjust the width of the parameter field.
Word Wrap
Specifies whether or not to wrap the text to the parameter field width.
Ignore HTML Tag
If this option is unchecked, JReport will parse HTML tag elements in the field value while the report set is to
be saved as an HTML file; or the field value will appear in the HTML file the same as that in JReport Viewer
(HTML tag elements in the field value, if any, will not be parsed).

Border tab
This tab shows information about borders of the parameter field.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Shadow
Specifies whether the borders will have a shadow effect or not.
Shadow Color
Specifies the color of the border shadow.

Others tab
You can use this tab to view and configure some miscellaneous settings.
TOC Anchor
Specifies whether or not to add the node that represents the parameter field to the TOC tree that is displayed
in the TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the parameter field will not be displayed.
Export to XLS
If true (checked), the parameter field will be exported when you save the report result as an XLS file (make
sure to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the parameter field will be exported when you save the report result as a TXT file with
Delimited Format selected.

Display tab
For a parameter field, you can change its display type to one of the following: Text, Rank, Image, Barcode,
Text Field, Hidden Field, Text Area, Checkbox, Radio Button, List, Drop-down List, Image Button, Button,
Submit, Reset and Hidden.

List
Specifies to display the parameter field as list.

Name
Specifies the name of the list.
Title
Specifies the title of the list.
Selected
Specifies the item to be selected.
Allow Multiple
Specifies whether or not to allow multiple items to be selected.
Disabled
Specifies whether or not to make the list disabled.

Drop-down List
Specifies to display the parameter field as drop-down list.

Name
Specifies the name of the drop-down list.
Title
Specifies the title of the drop-down list.
Selected
Specifies the item to be selected.
Disabled
Specifies whether or not to make the drop-down list disabled.
Reference: For the rest display types, see Data Field Properties dialog.
Parameter Form Control Properties dialog
This dialog helps you to edit the properties of a parameter form control. It contains the following tabs:
● General tab

● Border tab

● Title tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the parameter form control.
Name
Specifies the name of the parameter form control.
Position
Displays the position mode of the parameter form control. If the parameter form control is directly contained
in the report body, a tabular cell, or a text box, its position mode can be modified.
● Absolute: The parameter form control's position will be decided by its X and Y property values.

● Static: The parameter form control will be positioned at the default location in its container. If selected,
the X, Y and other position-related properties will be hidden or disabled.

● Relative: The parameter form control will be positioned according to its default location and the X and Y
property values.

X
Specifies the X coordinate of the parameter form control.
Y
Specifies the Y coordinate of the parameter form control.
Width
Specifies the width of the parameter form control.
Height
Specifies the height of the parameter form control.
Background
Specifies the background color of the parameter form control.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB. If you want to make the background transparent, input
Transparent in the text box.
Show Title
Specifies whether to show the title of the parameter form control.

Border tab
This tab shows information about borders of the parameter form control.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.

Title tab
This tab shows information about the title of the parameter form control. It is available when the Show Title
option is selected in the General tab of the same dialog.

Text
Specifies the text of the title.
Background
Specifies the background color of the title.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB. If you want to make the background transparent, input
Transparent in the text box.
Foreground
Specifies the foreground color of the title.
To change the color, click the color indicator to access the Select Color dialog and then specify a new color,
or input a color string in the format #RRGGBB.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Italic
Specifies whether to make the text italic or not.
PDF Encrypt Option dialog
This dialog helps you to set encryption options for the PDF file to be saved.

Compatibility
Specifies the encryption type to encrypt the PDF document. The option Acrobat 3.0 and later uses a low
encryption level (40-bit RC4), while the other option Acrobat 5.0 and later uses a high encryption level
(128-bit RC4).
Encryption Level
Shows the level of the encryption compatibility that you specified in the Compatibility drop-down list.
Require a password to open the document
Specifies the Document Open Password to prevent others from opening the document without
authorization.
● Document Open Password
Specifies the password to prevent others from opening the document without authorization.

● Confirm Password
Confirms the password you have specified in the Document Open Password text box.

Use a password to restrict printing and editing of the document and its security settings
Specifies the Permission Password to prevent others from printing and editing the document. The
password you specify here cannot be the same as the one that you use to open the document.
● Permissions Password
Specifies the password to prevent others from printing and editing.

● Confirm Password
Confirms the password you have specified in the Permissions Password text box.

● Printing Allowed
Specifies the printing quality for the PDF document.

● Changes Allowed
Specifies the editing actions that are permitted in the PDF document.

Enable copying of text, images and other content


Allows others to select and copy the contents of the PDF document.
Enable text access for screen reader devices for the visually impaired
Allows visually impaired users to read the PDF document with window readers. This option is available
only if the Compatibility option is set to Acrobat 5.0 or later Acrobat version.
OK
Saves the settings and exits the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.
PDF Sign Option dialog
This dialog helps you to set signing options for the PDF file to be saved.

Method
Specifies the digital signing method.
Digital ID File
Specifies whether to use a digital ID file from a specified directory.
User Password
Specifies a password for this digital ID file.
Confirm Password
Confirms the password.
Reason for Signing Document
Specifies the reason for signing the document.
Edit by Yourself
Edits the reason for signing the document. It is enabled when I agree to 'specified' portions of this
document is selected from the Reason for Signing Document drop-down list.
Location
Specifies your location accordingly.
Your Contact Information
Specifies your contact information accordingly.
OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.
Printable Version dialog
This dialog helps you to set the print settings.

Format
Specifies the format to which the report result will be printed.
● PDF
Specifies to print the report result to a PDF file.

● HTML
Specifies to print the report result to a HTML file.

Page Range
Specifies the range of the pages that are to be printed.
● All
Specifies that all pages will be printed.
● Current Page
Specifies that only the current page will be printed.

● Pages
Specifies page numbers and/or page ranges separated by commas.

OK
Prints the report result with the specified settings to a PDF or HTML file and opens it in an associated
program with which you can print the result to a printer.
Cancel
Cancels the print settings and closes this dialog.
Help
Displays this help document.
Query Filter dialog
This dialog helps you to apply a filter to the business/report cube used by the specified data component to
narrow down its data scope. It has the following two modes:
● Basic

● Advanced

Advanced/Basic
Switches the dialog to the advanced/basic mode.
OK
Applies the settings and closes the dialog.
Cancel
Closes the dialog and discards any changes.
Help
Displays this help document.

Basic mode
The basic mode provides function for creating simple filter conditions which are connected by the AND and OR
operators.
Query Filter
Specifies the filter you want to apply to the business/report cube.
● User Defined
Specifies to create a user defined filter to apply to the business/report cube.

● Predefined filters
The names of the predefined filters which were created on the business/report cube in JReport Designer. You
can choose one of them to apply.
❍ Edit
Edits the selected predefined filter. Once a predefined filter is edited, it will be saved as a user defined filter
in the business/report cube.

❍ Description
Displays the description of the selected predefined filter.
Deletes the current condition line.
Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.
● =
Equal to

● >
Greater than

● >=
Greater than or equal to

● <
Less than

● <=
Less than or equal to

● !=
Not equal to

● [not] in
Causes an enumerated list of values to appear in the WHERE clause predicate, used for evaluating for a true
condition.

● [not] like
Like string pattern matching operator is used to compare the first expression string value to the pattern string
(the second expression). If you want to use wildcard character in the pattern string, only "_" and "%" are
supported.

● [not] between
Allows the system to evaluate whether or not data values are located between a range of values indicated in
the predicate.

● is [not] null
It is used in WHERE clause predicates to match null values occurring in a specified data field.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or select a
value from the drop-down list. Click the button or to switch to filter the field by field or value. When you
type in the value manually, if multiple values are required, they should be separated with ",", and if "," or "\" is
contained in the values, write it as "\," or "\\".
Logic
Lists the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line.

Advanced mode
The advanced mode enables the building of more complex filter conditions via the grouping of conditions.

Query Filter
Specifies the filter you want to apply to the business/report cube.
● User Defined
Specifies to create a user defined filter to apply to the business/report cube.

● Predefined filters
The names of the predefined filters which were created on the business/report cube in JReport Designer. You
can choose one of them to apply.
❍ Edit
Edits the selected predefined filter. Once a predefined filter is edited, it will be saved as a user defined filter
in the business/report cube.
❍ Description
Displays the description of the selected predefined filter.

Add Condition
Adds a new condition line.
Delete
Deletes the selected condition line.
Group
Makes the selected conditions in one group. Conditions can also be added to an existing group by selecting the
conditions and the group while holding the Ctrl button, and then clicking the Group button.
Ungroup
Makes the selected condition ungrouped.
Up
Moves the selected condition or group up to a higher level.
Down
Moves the selected condition or group down to a lower level.
Logic
Specifies the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line.

● AND NOT
Logic operator AND NOT which is applied to this and the next line.

● OR NOT
Logic operator OR NOT Not which is applied to this and the next line.

Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or select a
value from the drop-down list. Click the button or to switch to filter the field by field or value. When you
type in the value manually, if multiple values are required, they should be separated with ",", and if "," or "\" is
contained in the values, write it as "\," or "\\".
Condition Expression
Displays the SQL statement of the filter condition.

Related topics:
● Applying filters to business/report cubes
Rename Current Report dialog
This dialog helps you to rename the current report.

Input New Name


Specifies the new name for the report.
OK
Applies the new name to the report and closes this dialog.
Cancel
Discards the setting and closes this dialog.
Help
Displays this help document.
Report Body Properties dialog
This dialog helps you to set the properties of a report. It contains the following tabs:
● General tab

● Border tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the report body.
Name
Specifies the display name of the report body, which will be shown on its shortcut menu.
Background
Specifies the background color and fill effect of the report body.
To change the color, click the color indicator to access the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.

Border tab
This tab shows information about borders of the report body.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Others tab
You can use this tab to view and configure some miscellaneous settings.

TOC Anchor
Specifies whether or not to add the node that represents the report body to the TOC tree that is
displayed in the TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the report body will not be displayed.
Export to XLS
If true (checked), the report body will be exported when you save the report result as an XLS file (make
sure to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the report body will be exported when you save the report result as a TXT file with
Delimited Format selected.
Report Parameters dialog
This dialog helps you to input parameter values for a report.

For every parameter the report uses, the dialog provides a prompt, a text box or a drop-down list. You
can input the parameter value in the text box, or select a predefined value from the drop-down list. If
the parameter is of DateTime type, a calendar button will appear next to the drop-down list, which
will facilitate your inputting. And if the parameter's Allow Multiple Values property is set to true in

JReport Designer, you can click the button to specify multiple values for the parameter in the Enter
Values dialog.

OK
Accepts the parameter values for further processing.
Help
Displays this help document.
Report Properties dialog
This dialog helps you to set the properties of a report. It contains the following tabs:
● General tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Discards the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the report.
Name
Specifies the report name.
Records per Page
Specifies the number of records in each page for the data buffer.
Page Background
Specifies the page background color.
Max Page Number
Specifies the maximum number of pages in the data buffer.
Max Records
Specifies the maximum number of records you want to display for the whole report.
Result Buffer Size
Specifies the size of the result buffer for storing the report result.
Embedded Fonts
Specifies the True Type Fonts that have been used in the report. This property is only for exporting PDF
files.
Compress If No Record
If this option is set to true (checked) and there is no record retrieved to the report, the report page will
be compressed.
Para List Auto
Specifies to get default parameter values either from a specified class or from values defined in the
catalog.

Others tab
This tab shows some miscellaneous information of the current report.

National Language Support


Specifies a language profile file.
Compress Result
Specifies whether or not to compress the exported RST file.
Excel Buffer Size
Specifies the size of the Excel buffer to store the XLS format report result.
Fast Pass
If true (checked), the performance of the engine when saving the report result to a CSV format file on
JReport Server will be improved.
Rows per Sheet
Specifies the maximal number of rows for every worksheet when exporting the result to an XLS file.
Applet Width
Specifies the applet width for the exported applets to be run in a web server.
Applet Height
Specifies the applet height for the exported applets to be run in a web server.
Save As dialog
This dialog helps you to save a report set as a new file.
Report Set Name
Specifies the name for the new file. The file format can be selected from the format drop-down list.
Folder
Specifies where the new file will be saved. The folder may be Public Reports or My Reports.
Directory
Specifies the directory for the new file. The available directories vary with the folder selected.
Description
Specifies the description for the new file.
Advanced
Displays the advanced save as settings.
● Catalog
Specifies the catalog for the new file.

● Set Original Catalog as Linked Catalog into Saved Report Set


If checked, the saved report set will be linked with the catalog and the saved report set will run with
the catalog no matter whether the two are in the same directory. If later the catalog is updated, the
saved report set will run with the latest version of the catalog. This option is available only when
Select Catalog Linked Model is checked in the Profile > Configure DHTML Profile > Properties >
Advanced tab.

● Set Catalog Copy to Public Reports/My Reports


If checked, the catalog will be copied to the directory where the report set is saved and the saved
report set will run with the copied catalog. This option is available only when Select Catalog Linked
Model is checked in the Profile > Configure DHTML Profile > Properties > Advanced tab.

● Save Sort Criteria


Specifies whether or not to save the sort criteria.

● Save Filter Criteria


Specifies whether or not to save the filter criteria.

OK
Saves the new file with the specified settings and closes this dialog.
Cancel
Does not save the report set as a new file and closes the dialog.
Help
Displays this help document.
Save Report Template dialog
This dialog requires your confirmation on whether or not to save the report template when saving a
report set. You can use the option Pop Up Save Criteria Dialog in the Profile > Configure DHTML Profile
> Properties > Default tab to control whether or not to display this dialog when saving a report set.

Save Sort Criteria


Specifies whether or not to save the sorting criteria with the report set.
Save Filter Criteria
Specifies whether or not to save the filtering criteria with the report set.
Yes
Applies the settings and closes this report set.
No
Closes the report set without saving any changes.
Cancel
Does not save the changes to the report set and returns to the report set.
Help
Displays this help document.
Search dialog
This dialog helps you to find specific text in a report.

The content can be found in two places - in the values of a certain field, or in the report content.
● To find a certain field value, select the field from the Select Field drop-down list, define the value
range in the Value Range drop-down list and then select the value from the Value drop-down list.

● To find text in the report content, check the Search in Whole Report checkbox, type the search
content in the Value box.

Select Field
Specifies the field in which you want to find the text. Disabled when Search in Whole Report is checked.
Value Range
Specifies the range of the displayed values so that you can select a required value quickly from the
Value field. Disabled when Search in Whole Report is checked.
Note: If All is selected in the Value Range drop-down list, the only item in the Value drop-down list will
be All and you cannot change the value, in which case, when you submit the search, JReport will search
for all the values of the selected field.
Value
Specifies the text you want to find. When Search in Whole Report is unchecked, you can select a value
from the drop-down list.
Search in Whole Report
Finds text in the report content. The Select Field drop-down list and the Value Range drop-down list are
disabled when this box is checked.
Match Case
Finds text only if it matches the capitalization of the text you have entered.
Find Whole Word
Finds text only if it matches a whole word.
Highlight All
Highlights all the matching text.
Direction
Specifies the searching direction.
● Up
Searches from the last found string to the beginning of the report.

● Down
Searches from the last found string to the end of the report. This option is selected by default.

Search
Searches the report or field value for the next match of the specified text.
Cancel
Cancels the operation and closes this dialog.
Help
Displays this help document.
Select Color dialog
This dialog helps you to specify a color. It contains the following tabs:
● Swatches tab

● Color Picker tab

OK
Closes this dialog and returns the color value specified in the current tab.
Cancel
Closes this dialog without changing the color value.
Help
Displays this help document.

Swatches tab
This tab allows you to select one from the web safe color swatches.
Web Safe Colors
Lists the web safe colors for you to select one.
Transparent
Click this swatch to delete the color and specify the object to be transparent.
Color Indicator
The upper part will be displayed in the color you selected from Web Safe Colors and labeled the
hexadecimal value of the color (or "Transparent" if you click the Transparent swatch). The lower part is
always displayed in the original color. Clicking the lower part will restore the color to the original.

Color Picker tab


This tab allows you to customize the toolbars in JReport Viewer.
Select Color
Displays a color matrix. To define a color, click anywhere in the matrix. Change saturation by moving
the pointer horizontally, and change brightness by moving the pointer vertically.
Color Slider
Drag the slider to change the hue.
Color Indicator
The upper part will be displayed in the color you have newly defined. The lower part is always displayed
in the original color. Clicking the lower part will restore the color to the original.
R
Specifies the amount of red in a color.
G
Specifies the amount of green in a color.
B
Specifies the amount of blue in a color.
Color Value
Specifies the hexadecimal value of the color.
Select Field dialog
This dialog helps you to select another field to replace the current field in a filter control.

Filter On
Specifies another field which will replace the current field in the filter control.
OK
Applies the selected field to the filter control and closes the dialog.
Cancel
Cancels the selection and closes the dialog.
Help
Displays this help document.
Select Group Position dialog
The dialog helps you to specify the position of the group by field when you convert a table detail
column to a group column.

Group Above
Specifies to place the group by field in its own row above the detail columns.
Group Left Above
Specifies to place the group by field in its own row and column above and left of the detail columns.
Group Left
Specifies to place the group by field in its own column left of the detail columns.
OK
Applies the setting to convert the column and closes the dialog.
Cancel
Cancels the conversion and closes the dialog.
Help
Displays this help document.
Select Resource dialog
This dialog helps you to specify the field to which the dynamic measure object will be mapped.

In this dialog, all the dimension objects and detail information objects in the current business/
report cube and the dynamic formulas that have been created in the report will be listed. Select the
required field and then click OK to make it as the mapping field of the measure object.
OK
Applies the settings and closes this dialog.
Cancel
Closes the dialog.
Help
Displays this help document.
Select Values dialog
This dialog helps you to specify one or more values to apply a filter criterion.

Available
Specifies the values from this list to filter report data with.

Adds the selected value to the Chosen list.


Chosen
Lists all the values that have been chosen.
Add
Adds a new line to the Chosen list for you to input a value.
Edit
Edits the selected item in the Chosen list. You can also double-click the item to edit it.
Remove
Removes the selected item from the Chosen list.
Go to
Goes to the specified value list. Input a number N here and click the Get button to fetch a value list
starting from the Nth value.
Prev
Fetches the previous value list.
Next
Fetches the next value list.
Number of List Items
Specifies the number of list items here and click the Get button to fetch a value list.
OK
Applies all changes and closes this dialog.
Cancel
Closes the dialog and deletes any unsaved changes.
Help
Displays this help document.
Sort dialog
This dialog helps you to specify the settings in order to sort the records or groups in a banded object.

Sort in Scope
Specifies on which level the sorting is based.

Deletes the specified sort expression line.


Field
Specifies the field by which to sort the records or groups.
Ascending
Specifies the sorting order to ascending.
Descending
Specifies the sorting order to descending.

Moves up a sort expression line.


Moves down a sort expression line.

Adds a new sort expression line after the current one. This button appears after the first sort condition
has been composed.
OK
Accepts the changes and re-loads the report result using the sort settings with this dialog closed.
Cancel
Cancels the operation and closes this dialog.
Apply
Accepts the changes and re-loads the report result using the sort settings with this dialog displayed.
Reset
Restores this dialog to its opening status.
Help
Displays this help document.
Special Field Properties dialog
This dialog helps you to edit the properties of a special field. It contains the following tabs:
● General tab

● Font tab

● Border tab

● Others tab

● Display tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the special field.
Name
Specifies the display name of the special field, which will be shown on the shortcut menu of the special field.
Position
Specifies the position mode of the special field. If the special field is directly contained in the report body, a
tabular cell, or a text box, its position mode can be modified.
● Absolute: The special field's position will be decided by its X and Y property values.

● Static: The special field will be positioned at the default location in its container. If selected, the X, Y and other
position-related properties will be hidden or disabled.

● Relative: The special field will be positioned according to its default location and the X and Y property values.

Type
Specifies the type of the special field. Select a new one from the drop-down list if you want to change the type.
The following types are available:
● Fetch Date
Prints the date when the data is retrieved from the database.

● Fetch Time
Prints the time when the data is retrieved from the database.
● Global Page N of M
Prints a specific global page number out of the global total page number. You can specify the format of this
special field in the Report Inspector. The operation is the same as Page N of M.

● Global Page Number


Prints the global page number of the whole report wherever it is placed.

● Global Total Page Number


Prints the global total page number of the whole report wherever the field is placed.

● Group Name
Prints the group name, which usually placed in the Group Header/Footer panel.

● Group Number
Prints the group number, which is usually placed in the Group Header/Footer panel.

● Modified Date
Prints the last modified date for the catalog.

● Modified Time
Prints the last modified time for the catalog.

● Page N of M
Prints the page number of the total page number.

● Page Number
Prints the page number for each page.

● Print Date
Prints today's date (or the date designated on your computer).

● Print Time
Prints the current time on your computer.

● Record Number
Prints the record number, which is usually placed in the Details panel.

● SQL Statement
Prints the SQL statements used to execute the query.

● Task ID
Prints the internal task ID, which is a unique time stamp.

● Total Fetched Records


Prints the total number of records which take part in grouping calculation. The possible result of the special field
is as follows:
❍ If you don't set any filter condition in the Filter dialog, print the very number of the record obtained after
setting the property Maximum Records.

❍ If you set filter conditions in the Filter dialog, print the number of records obtained after performing the
filters, even though you have set the property Maximum Records before setting the filters.

● Total Group Number


Prints the total group number, which is usually placed in the group Header/Footer panel.

● Total Page Number


Prints the total number of pages in the report.

● Total Records
Prints the total number of records after all the filter conditions are performed, except the ones created in the
Filter dialog of JReport Viewer, and the Group Filter dialog and top N or bottom N condition in JReport Designer.

● User Name
Prints the User ID with which you log onto JReport Server.
X
Specifies the X coordinate of the special field.
Y
Specifies the Y coordinate of the special field.
Width
Specifies the width of the special field.
Height
Specifies the height of the special field.
Background
Specifies the background color of the special field.
To change the color, click the color indicator to bring out the Select Color dialog and then specify a new color, or
input a color string in the format #RRGGBB. If you want to make the background transparent, input Transparent
in the text box.
Foreground
Specifies the foreground color of the special field.
To change the color, click the color indicator to bring out the Select Color dialog and then specify a new color, or
input a color string in the text box.

Font tab
This tab shows the font-related information of the special field. You can modify all the font settings in this tab.
Font
Specifies the font face of the field text.
Size
Specifies the font size of the field text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the special field.
Vertical Alignment
Specifies the vertical alignment mode of the text in the special field.
Bold
Specifies whether to make the object text bold or not.
Underline
Specifies whether the field text will be underlined or not.
Strikethrough
Specifies whether or not to attach a strikeout line to the field text.
Italic
Specifies whether to make the field text italic or not.
Autofit
Specifies whether or not to automatically adjust the width of the special field.
Word Wrap
Specifies whether or not to wrap the text to the special field width.
Ignore HTML Tag
If this option is unchecked, JReport will parse HTML tag elements in the field value while the report set is to be
saved as an HTML file; or the field value will appear in the HTML file the same as that in JReport Viewer (HTML
tag elements in the field value, if any, will not be parsed).
Repeat
Specifies whether to repeat the group name in the report result. Only available for table and it takes effect only
when the group by field is placed in the detail row.

Border tab
This tab shows information about borders of the special field. You can modify all the border settings in this tab.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Shadow
Specifies whether the borders will have a shadow effect or not.
Shadow Color
Specifies the color of the border shadow.

Others tab
You can use this tab to view and configure some miscellaneous settings.
TOC Anchor
Specifies whether or not to add the node that represents the special field to the TOC tree that is displayed in the
TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the special field will not be displayed.
Export to XLS
If true (checked), the special field will be exported when you save the report result as an XLS file (make sure to
check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the special field will be exported when you save the report result as a TXT file with Delimited
Format selected.
Logic Column
Specifies whether to show the special field in the next visible table cell in the same row when the column which
holds the field is hidden.
Data Evaluation Setting
Specifies the group information for the object. Available only for the group by fields in table.
● current column
The object will take value of the group by field in the current column.

● current row
The object will take value of the group by field in the current row.

Display tab
You can use this tab to modify the render type of the special field. For details, see the Data Field Properties dialog.
Split dialog
This dialog helps you to specify the number of rows and columns that the specified tabular cell will be
split into.

Number of Columns
Specifies the number of columns the tabular cell will be split into. Input a positive integer in the text
box to specify the number.
Number of Rows
Specifies the number of rows the tabular cell will be split into. Input a positive integer in the text box to
specify the number.
OK
Closes this dialog and applies the settings.
Cancel
Discards any modifications and closes this dialog.
Help
Displays this help document.
Table Cell Properties dialog
This dialog helps you to edit the properties of a table cell. It contains the following tabs:
● General tab

● Border tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the table cell.
Name
Specifies the display name of the table cell, which will be shown on the shortcut menu of the table cell.
Background
Specifies the background color of the table cell.
To change the color, click the color indicator to access the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.

Border tab
This tab shows information about borders of the table cell. You can modify all the border settings in this
tab.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Others tab
You can use this tab to view and configure some miscellaneous settings.

Export to XLS
If true (checked), the table cell will be exported when you save the report result as an XLS file (make
sure to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the table cell will be exported when you save the report result as a TXT file with
Delimited Format selected.
Horizontal Alignment
Specifies the horizontal alignment mode of the content in the table cell. When the Position property for
the object in the cell is set to absolute, this property does not take effect.
Vertical Alignment
Specifies the vertical alignment mode of the content in the table cell. When the Position property for the
object in the cell is set to absolute, this property does note take effect.
Scope
A representation of the standard HTML attribute scope. This attribute specifies the set of data cells for
which the current header cell provides header information.
● Row - The current cell provides header information for the rest of the row that contains it.

● Column - The current cell provides header information for the rest of the column that contains it.

● None - The scope attribute will not be generated when exporting to HTML.
Table Properties dialog
This dialog helps you to edit the properties of a table. It contains the following tabs:
● General tab

● Border tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the table.
Name
Specifies the display name of the table, which will be shown on the shortcut menu of the table.
Position
Specifies the position mode of the table. If the table is directly contained in the report body, a tabular
cell, or a text box, its position mode can be modified.
● Absolute: The table's position will be decided by its X and Y property values.

● Static: The table will be positioned at the default location in its container. If selected, the X, Y and
other position-related properties will be hidden or disabled.

● Relative: The table will be positioned according to its default location and the X and Y property
values.

X
Specifies the X coordinate of the table.
Y
Specifies the Y coordinate of the table.
Width
Specifies the width of the table.
Height
Specifies the height of the table.
Background
Specifies the background color of the table.
To change the color, click the color indicator to bring out the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.

Border tab
This tab shows information about borders of the table.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.

Others tab
You can use this tab to view and configure some miscellaneous settings.
TOC Anchor
Specifies whether or not to add the node that represents the table to the TOC tree that is displayed in
the TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the table will not be displayed.
Export to XLS
If true (checked), the table will be exported when you save the report result as an XLS file (make sure
to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the table will be exported when you save the report result as a TXT file with Delimited
Format selected.
Table Row Properties dialog
This dialog helps you to edit the properties of a table row. It contains the following tabs:
● General tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the object.
Name
Specifies the display name of the table row, which will be shown on its shortcut menu.
Background
Specifies the background color of the table row.
To change the color, click the color indicator to access the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.

Others tab
You can use this tab to view and configure some miscellaneous settings.
Suppress When No Records
If true (checked) and no records are returned by the report, the table row will not be displayed.
Export to XLS
If true (checked), the table row will be exported when you save the report result as an XLS file (make
sure to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the table row will be exported when you save the report result as a TXT file with
Delimited Format selected.
Table Wizard
This wizard guides you through the process of creating a table report. It contains the following screens:
● Data screen

● Display screen

● Group screen

● Summary screen

● Query Filter screen

● Style screen

Back
Returns to the previous screen.
Next
Goes to the next screen.
Finish
Creates a report containing the table and closes the wizard.
Cancel
Closes the wizard without creating a report.
Help
Displays this help document.

Data screen
Specifies the business/report cube to use to create the table. This screen is hidden when there is only one
cube in the current catalog.
Available Data Resources
Lists all the available business/report cubes in the current catalog, with which you can create the table.

Display screen
Specifies the fields to be displayed in the table.
Resources
Displays all the cube elements in the selected business/report cube.

Adds the selected cube element to be displayed in the table.

Removes the selected cube element.


Display Fields
Lists the cube elements that have been added to the table.
Display Name
Specifies the display names of the added cube elements.

Moves the selected cube element one step up.

Moves the selected cube element one step down.

Group screen
Specifies the fields to group the data.
Resources

Displays all the available dimension objects you can use to group the data in the table.

Adds the selected dimension object as a group field.

Removes the selected dimension object.


Group By
Lists all the dimension objects that have been added as group fields.
Sort
Specifies the sort order for each group: Ascend, Descend, or No Sort.

Moves the selected group one step up.

Moves the selected group one step down.

Summary screen
Specifies the fields on which to create aggregation functions.
Resources

Displays all the available measure objects you can use to create aggregation functions in the table.

Adds the selected measure object as the summary field.

Removes the selected measure object.


Summarized Fields
Lists the groups that have been created in the table and the measure objects you have added to summarize
data in each group.
Display Name
Specifies the display names of the measure objects.

Moves the selected measure object one step up.

Moves the selected measure object one step down.

Query Filter screen


Specifies the filter which you want to apply to the selected business/report cube.
In this screen, all the predefined filters of the business/report cube are listed in the Query Filter drop-down
list. You can choose one of them to apply. If you prefer to define a filter on your own, select User Defined
from the drop-down list, and then define it according to your requirements.
For details about options in the screen, refer to Query Filter dialog.

Style screen
Specifies the style of the table. This screen is hidden when there is only one style available to be applied to
the table.
Style
Lists all table styles for you to select one from.
Inherit Style
Specifies to take the style of the parent component. The option is available only when you specify to insert
the table into a banded object.
Preview
Shows a preview of the selected style.
Tabular Cell Properties dialog
This dialog helps you to edit the properties of a tabular cell. It contains the following tabs:
● General tab

● Border tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the tabular cell.
Name
Specifies the display name of the tabular cell, which will be shown on its shortcut menu.
Background
Specifies the background color of the tabular cell.
To change the color, click the color indicator to access the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.

Border tab
This tab shows information about borders of the tabular cell.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Others tab
You can use this tab to view and configure some miscellaneous settings.

Export to XLS
If true (checked), the tabular cell will be exported when you save the report result as an XLS file (make
sure to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the tabular cell will be exported when you save the report result as a TXT file with
Delimited Format selected.
Tabular Properties dialog
This dialog helps you to edit the properties of a tabular. It contains the following tabs:
● General tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the tabular.
Name
Specifies the display name of the tabular, which will be shown on the shortcut menu of the tabular.
Position
Specifies the position mode of the tabular. If the tabular is directly contained in the report body, a
tabular cell, or a text box, its position mode can be modified.
● Absolute: The tabular's position will be decided by its X and Y property values.

● Static: The tabular will be positioned at the default location in its container. If selected, the X, Y and
other position-related properties will be hidden or disabled.

● Relative: The tabular will be positioned according to its default location and the X and Y property
values.

Vertical Auto Size


Specifies whether or not to automatically adjust the height of the tabular according to the size of the
components inserted.
Horizontal Auto Size
Specifies whether or not to automatically adjust the width of the tabular according to the size of the
components inserted.
X
Specifies the X coordinate of the tabular.
Y
Specifies the Y coordinate of the tabular.
Width
Specifies the width of the tabular.
Height
Specifies the height of the tabular.
Background
Specifies the background color of the tabular.
To change the color, click the color indicator to access the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.

Others tab
You can use this tab to view and configure some miscellaneous settings.
TOC Anchor
Specifies whether or not to add the node that represents the tabular to the TOC tree that is displayed in
the TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the tabular will not be displayed.
Export to XLS
If true (checked), the tabular will be exported when you save the report result as an XLS file (make
sure to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the tabular will be exported when you save the report result as a TXT file with
Delimited Format selected.
Text Box Properties dialog
This dialog helps you to edit the properties of a text box. It contains the following tabs:
● General tab

● Border tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the text box.
Name
Specifies the display name of the text box, which will be shown on its shortcut menu.
Position
Specifies the position mode of the text box. If the text box is directly contained in the report body, a
tabular cell, or a text box, its position mode can be modified.
● Absolute: The text box's position will be decided by its X and Y property values.

● Static: The text box will be positioned at the default location in its container. If selected, the X, Y and
other position-related properties will be hidden or disabled.

● Relative: The text box will be positioned according to its default location and the X and Y property
values.

Vertical Alignment
Specifies vertical justification of the text in the text box.
Vertical Auto Size
Specifies whether or not to automatically adjust the height of the text box according to the size of the
components inserted.
X
Specifies the X coordinate of the text box.
Y
Specifies the Y coordinate of the text box.
Width
Specifies the width of the text box.
Height
Shows the height of the text box.
Background
Specifies the background color of the text box.
To change the color, click the color indicator to bring out the Select Color dialog and then specify a new
color, or input a color string in the format #RRGGBB. If you want to make the background transparent,
input Transparent in the text box.

Border tab
This tab shows information about borders of the text box.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Others tab
You can use this tab to view and configure some miscellaneous settings.

TOC Anchor
Specifies whether or not to add the node that represents the text box to the TOC tree that is displayed
in the TOC Browser.
Suppress When No Records
If true (checked) and no records are returned by the report, the text box will not be displayed.
Export to XLS
If true (checked), the text box will be exported when you save the report result as an XLS file (make
sure to check Excel 2000 in the Export dialog).
Export to CSV
If true (checked), the text box will be exported when you save the report result as a TXT file with
Delimited Format selected.
Top N dialog
This dialog helps you to filter data to display records that meet the Top N condition.

Value
Specifies a positive integer N here so that records with the field value equal to one of the top N field
values will be displayed.
OK
Applies the settings and closes the dialog.
Cancel
Closes the dialog and discards any changes.
Help
Displays this help document.
To Chart dialog
This dialog helps you to specify settings for converting a crosstab into a chart. It contains the following
tabs:
● Chart Type tab

● Display tab

● Style tab

Back
Returns to the previous tab.
Next
Goes to the next tab.
OK
Applies the settings and closes the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.

Chart Type tab


This tab allows you to set the type of the chart.
Chart Type
Lists all chart types for you to select one.
Subtype
Shows subtypes of the selected chart type in thumbnail form.
Chart Type Groups
Lists the subtypes defined for the chart.
Removes the selected subtype.

Display tab
This tab allows you to set the fields that will be displayed in the chart.

Resources
Displays all the cube elements used in the crosstab.

Adds the selected dimension or measure object to be displayed in the chart.

Removes the selected cube element.


Category

Lists the dimension object that will be displayed on the category axis of the chart.
Series

Lists the dimension object that will be displayed on the series axis of the chart.
Show Values

Lists the measure objects that will be displayed on the value axis of the chart.
Order/Select N
Opens the Order/Select N dialog to define the sort order and Select N condition in the chart.

Style tab
This tab allows you to select a style for the chart. It is hidden when there is only one style available.
Style
Lists all the styles for you to select from.
● Custom
There is no style information in this style and it is only used to support reports built with previous
versions which did not bind any style or the bound style cannot be found in the style list.

Preview
Shows a preview of the selected style.
Inherit Style
Specifies to take the style of the parent component. The option is available when the crosstab is in a
banded object.
To Crosstab dialog
This dialog helps you to specify settings for converting a chart into a crosstab. It contains the following
tabs:
● Display tab

● Style tab

Back
Returns to the previous tab.
Next
Goes to the next tab.
OK
Applies the settings and closes the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.

Display tab
This tab allows you to set the data fields that you want to display in the crosstab.
Resources
Displays the cube elements used in the chart.

Adds the selected cube element to the crosstab.

Removes the selected cube element.


Columns/Rows
Lists the dimension objects that will be displayed on the columns/rows of the crosstab.
● Field
Lists the dimension objects that you selected to display in the crosstab.

● Display Name
Lists the display name for the selected dimension objects. You can edit the names if required.

● Sort
Specifies how the selected dimension objects will be sorted.

Aggregates

Lists the measure objects that will be the aggregate fields of the crosstab.
● Field
Lists the measure objects that you selected to display in the crosstab.

● Display Name
Lists the display name for the selected measure objects. You can edit the names if required.

Moves the selected cube element one step up.

Moves the selected cube element one step down.

Style tab
This tab allows you to select a style for the crosstab. It is hidden when there is only one style available.
Style
Lists all the styles for you to select one.
● Custom
There is no style information in this style and it is only used to support reports built with previous
versions which did not bind any style or the bound style cannot be found in the style list.

Preview
Shows a preview of the selected style.
Inherit Style
Specifies to take the style of the parent component. The option is available when the chart is in a table
or banded object.
Turn to Page dialog
This dialog helps you to input the page number so as to turn to the specified page.

Input Page Number


Specifies the page number you would like to turn to.
Go
Goes to the specified page.
Cancel
Closes this dialog without turning the report page.
Help
Displays this help document.
Zoom dialog
This dialog helps you to set a magnification of the report page.

Zoom to
Specifies the magnification in percentage.
OK
Closes this dialog and zooms the report page in or out to the magnification.
Cancel
Closes this dialog without changing the magnification of the report page.
Help
Displays this help document.
JReport Studio dialogs
While using JReport Studio, you will go through the following dialogs. This section introduces each of
these dialogs in alphabetical order. You can go into the links for details.
● Add Aggregation dialog

● Aggregate On dialog

● Button Properties dialog

● Category Options dialog

● Chart Properties dialog

● Chart Wizard

● Color Picker dialog

● Conditional Formatting dialog

● Crosstab Properties dialog

● Crosstab Wizard

● Edit Conditions dialog

● Edit Detail Table dialog

● Edit Image dialog

● Edit Link dialog

● Edit Multimedia dialog

● Enter Values dialog

● Export dialog

● Field Properties dialog

● Fill Effects dialog

● Filter Control Properties dialog

● Filter dialog

● Filter Inspector dialog

● Flash Properties dialog

● Font dialog
● Format Category(X) Axis dialog

● Format Category(X) Gridline dialog

● Format Floor dialog

● Format Legend dialog

● Format Paper dialog

● Format Platform dialog

● Format Value(Y) Axis dialog

● Format Value(Y) Gridline dialog

● Format Wall dialog

● Formula Editor dialog

● Group Footer Properties dialog

● Group Header Properties dialog

● Image Properties dialog

● Insert Chart dialog

● Insert Crosstab dialog

● Insert Filter Control dialog

● Insert Image dialog

● Insert Multimedia dialog

● Insert Parameter Control dialog

● Insert Parameter Form Control dialog

● Insert Table dialog

● JReport Studio Wizard

● Label Properties dialog

● Navigation Control Properties dialog

● Page Setup dialog

● Parameter Control Properties dialog

● Parameter Field Properties dialog

● Parameter Form Control Properties dialog

● PDF Encrypt Option dialog


● PDF Sign Option dialog

● Print dialog

● Query Filter dialog

● RealMedia Properties dialog

● Report Body Properties dialog

● Report Parameters dialog

● Save As dialog

● Select a Report dialog

● Select Field dialog

● Select Resource dialog

● Select Values dialog

● Series Options dialog

● Special Field Properties dialog

● Split Cell dialog

● Summary Properties dialog

● Table Cell Properties dialog

● Table Footer Properties dialog

● Table Header Properties dialog

● Table Properties dialog

● Table Wizard

● Tabular Cell Properties dialog

● Tabular Properties dialog

● To Chart dialog

● To Crosstab dialog

● Windows Media Properties dialog


Add Aggregation dialog
This dialog is displayed when you expand the Dynamic Resource > Aggregations node in the Resources
panel, then click <Add Aggregation…> or right-click a dynamic aggregation and then select Edit from
the shortcut menu. It helps you to create or edit a dynamic aggregation in a report.

Resource Name

Click to select a field or a formula on which the aggregation is based on in the Select Resource
dialog.

Aggregate
Specifies the function for the aggregation.
● Count
This function computes the number of values referred to by the argument.

● Sum
This function computes the sum of all the values referred to by the argument.

● Average
The function is used to get the average value of the values referred to by the argument.

● Maximum
This function returns the highest value referred to by the argument.

● Minimum
This function returns the lowest value referred to by the argument.

● DistinctCount
This function computes the number of distinct values referred to by the argument.

● PopulationStdDev
This function computes the population standard deviation of the values referred to by the argument.

● StdDev
This function computes the standard deviation of the values referred to by the argument.

● Variance
This function computes the variance of all the values referred to by the argument.

Aggregation Name
Specifies the name of the aggregation. Note that when you changing the resource name or aggregate
function, the aggregation name will change accordingly.
OK
Creates or edits the aggregation and closes the dialog.
Cancel
Cancels the operation and closes the dialog.
Help
Displays this help document.
Aggregate On dialog
The dialog appears when you do either of the following:
● Right-click the field in a table detail column and select Aggregate On from the shortcut menu.

● Click a column header to select the column, then on the Context toolbar, click the Aggregate On

button .

It helps you to create a dynamic aggregation directly based on the field bound with the selected table
detail column.

Aggregate On
Displays the field bound with the detail column. The field will be used to create the aggregation.
Function
Specifies the function to summarize the field in the detail column.
OK
Creates the aggregation and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Button Properties dialog
This dialog appears when you right-click a button in a navigation control and select Properties from the
shortcut menu. It helps you to modify the properties of the button.
Button Type
● Button
The button is displayed as a normal button.

● Image Button
The button is displayed as an image.

Button
When Button is selected as the button type, the following options are available.
Button Label
Specifies the properties of the button label.
● Text
Specifies the text of the label.

● Font
Specifies the font face of the text.

● Font Style
Specifies the font style of the text.

● Font Size
Specifies the font size of the text.

● Align
Specifies the alignment way of the label in the button.

● Font Color
Specifies the font color of the text.

Border
Specifies the properties of the button border.
● Color
Specifies the border color.

● Thickness
Specifies the border width.

● Top Line
Specifies the style of the top border line.

● Bottom Line
Specifies the style of the bottom border line.

● Left Line
Specifies the style of the left border line.

● Right Line
Specifies the style of the right border line.

Button Body
Specifies the properties of the button body.
● Background
Specifies the background color of the button body.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in
the format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.

● Width
Specifies the width of the button.

● Height
Specifies the height of the button.
Preview
Displays a preview of the button according to the button properties.

Image Button
When Button Image is selected as the button type, the following options are available.

Image From
Specifies the source of the image file.
● Local File
Specifies to use an image from the local file system.
❍ File Name
Specifies the path and name of the image file. You can click the Browse button to locate the image file.
● Web URL
Specifies to use an image via URL.
❍ Image URL
Specifies the URL of the image file. JReport will record the latest 10 entered URLs in the drop-down list.

Note: If your JReport Server is in an intranet, to successfully access the image via URL, you need to
add the parameters -Dhttp.proxyHost=XXX -Dhttp.proxyPort=XX to the server's startup file JRServer.
bat, which locates in <install_root>\bin.

● Library
Specifies to use an existing image.
❍ My Images
The My Images folder is a virtual location where JReport Server stores the images that have once been
inserted into reports. Select the one you want to use.

Preview
Displays a preview of the selected image.
OK
Applies the button properties and closes this dialog.
Cancel
Cancels the changes and closes this dialog.
Help
Displays this help document.
Category Options dialog

This dialog appears when you click the Top N button above the Category box in the Bind Data
screen of chart in the JReport Studio Wizard, Insert Chart dialog, Chart Wizard, or To Chart dialog. It
helps you to set the sort order of the category values and define the number of the category values
that will be displayed in the chart.

Category Order
Specifies in which order data on the category axis of a chart will be displayed.
● Ascend
Lists data in an ascending order.

● Descend
Lists data in a descending order.

● No Sort
Keeps the data in their original order in database.

Category Selection
Specifies the number of the category values that will be displayed in the chart.
● Select
Specifies the Select N condition to define the number of the category values that will be displayed.
❍ All
If selected, all category values will be displayed.

❍ Top N
If selected, specify a number in the field to the right and the first N category values will be
displayed.

❍ Bottom N
If selected, specify a number in the field to the right and the last N category values will be
displayed.

● Based On
If checked, the category values will be sorted by values of the summary selected with the direction
specified. If unchecked, the category values will be sorted by the order specified in the Category
Order box of the dialog.

● Remaining Categories In
Enabled only when Top N or Bottom N is selected from the Select drop-down list. Check this option
and then type a character string in the text field to group all the category values beyond the top/
bottom N range.

● Skip First
If you check the Skip First option and input a number M in the text field to the right, then the first M
category values in the chart will be skipped and the Select N condition will take effect beginning with
M+1. The skipped values will be included in the Remaining Categories group together with all the
category values beyond the top/bottom N range.

OK
Accepts the changes and closes the dialog.
Cancel
Discards the changes and closes the dialog.
Help
Displays this help document.
Chart Properties dialog
The dialog appears when you right-click a chart and select Properties from the shortcut menu. It helps you to
specify the properties of the chart.

Name
Specifies the display name of the chart, which will be shown on the shortcut menu of the chart.
Horizontal Alignment
Specifies the horizontal justification of the chart. Choose an option from the drop-down list.
● left: Aligns the chart on the left of the report.

● right: Aligns the chart on the right of the report.

● center: Aligns the chart in the center of the report.

Width
Specifies the width of the chart.
Height
Specifies the height of the chart.
Show Legend
Specifies whether to make the legend in the chart visible.
Show Wall
Specifies whether to show the wall in the chart.
Show Floor
Specifies whether to show the floor, only for 3-D chart types.
Show Axis Y
Specifies whether to show the axis Y.
Show Axis X
Specifies whether to show the axis X.
Show Gridline X
Specifies whether to show the gridlines perpendicular to the axis X.
Show Gridline Y
Specifies whether to show the gridlines perpendicular to the axis Y.
OK
Applies the chart properties and closes this dialog.
Cancel
Cancels the changes and closes this dialog.
Help
Displays this help document.
Chart Wizard
This wizard is displayed when you do one of the following:
● Select a chart, then click Menu > Edit > Wizard.

● Select a chart, then click the Chart Wizard button on the Context toolbar.

● Right-click the icon of a chart or any part of a chart other than the legend and label, then select Chart
Wizard from the shortcut menu.

It helps you to change data and modify the type of the chart.

Chart Title
Specifies a title for the chart.
Sets the font, font style, size, alignment, font color and background color properties for the chart title.
Data Source
Displays the business view that has been used in the chart.
Filter
Opens the Query Filter dialog to specify the filter which you want to apply to the selected business view.

Resources
Displays the view elements in the selected business view.

Edits the selected dynamic resource.

Adds the selected group or aggregation object to be displayed in the chart.


Show Values
Lists the values you want to show in the chart.
● Primary Axis
Adds a chart type to the primary axis.

● Secondary Axis
Adds a chart type to the secondary axis. Active only when the option Secondary Axis is checked.

Adds a combo chart to the Primary Axis or Secondary Axis.

Moves the selected view element one level up.

Moves the selected view element one level down.


Secondary Axis
Specifies whether to show the secondary axis in the chart.
Category

Lists the group object that will be displayed on the category axis of the chart.
Series

Lists the group object that will be displayed on the series axis of the chart.

Opens the Category Options dialog or Series Options dialog to define the sort order of the category or series
values and specify the number of the category or series values that will be displayed in the chart.

Removes the selected resource.


OK
Applies the changes and closes the wizard.
Cancel
Cancels the changes and closes the wizard.
Help
Displays this help document.
Color Picker dialog
This dialog helps you to specify a color for an object. It contains the following tabs:
● Standard tab

● Custom tab

OK
Closes this dialog and returns the color value specified in the current tab.
Cancel
Closes this dialog without changing the color value.
Help
Displays this help document.

Standard tab
This tab allows you to select one from the web safe color swatches.
Web Safe Colors
Lists the web safe colors for you to select one.
R
Specifies the amount of red in a color. The value is from 0 to 255.
G
Specifies the amount of green in a color. The value is from 0 to 255.
B
Specifies the amount of blue in a color. The value is from 0 to 255.
#
Specifies the hexadecimal value of the color.
New
This part will be displayed in the color you define.
Current
This part is always displayed in the original color. Clicking this part will restore the color to the original.

Custom tab
This tab allows you to customize the color within a wider range.

Color matrix
Select a color you want in the color matrix. The hue of the matrix is based on the color you define on
the color bar.
Color bar
Specifies a color on the bar which will be the hue of the color matrix.
R
Specifies the amount of red in a color. The value is from 0 to 255.
G
Specifies the amount of green in a color. The value is from 0 to 255.
B
Specifies the amount of blue in a color. The value is from 0 to 255.
#
Specifies the hexadecimal value of the color.
New
This part will be displayed in the color you define.
Current
This part is always displayed in the original color. Clicking this part will restore the color to the original.
Conditional Formatting dialog
This dialog appears when you right-click a field and select Conditional Formatting from the shortcut
menu. It helps you to add some conditional formats to values of the selected field.

Condition
Displays all the conditions you have already added.


Adds a new condition in the Edit Conditions dialog.


Edits the selected condition.

Removes the selected condition.

● Priority
Specifies the priority of each condition.


Moves a condition up for a higher priority.


Moves a condition down for a lower priority.

Format
Specifies the format which will be applied to the field values when the specified condition is fulfilled.
● Font
Specifies the font type for the field values.

● Border
Specifies the border line style for the field values.

● Size
Specifies the font size for the field values.

● Bold
Specifies whether or not to bold the field values.

● Italic
Specifies whether or not to make the field values italic.

● Underline
Specifies whether or not to underline the field values.

● Foreground Color
Specifies the foreground color for the field values.

● Background Color
Specifies the background color for the field values.

● Sample Text
Displays a preview sample of your settings.

OK
Applies the settings and exits the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.
Crosstab Properties dialog
The dialog appears when you right-click a crosstab and select Properties from the shortcut menu. It helps you
to specify the properties of the crosstab and contains the following tabs:
● General tab

● Border tab

● Crosstab tab

● Others tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the crosstab.
Name
Specifies the display name of the crosstab, which will be shown on the shortcut menu of the crosstab.
Horizontal Alignment
Specifies the horizontal justification of the crosstab. Choose an option from the drop-down list.
● Left: Aligns the crosstab on the left of the tabular cell.

● Right: Aligns the crosstab on the right of the tabular cell.

● Center: Aligns the crosstab in the center of the tabular cell.

Background
Specifies the background color of the crosstab.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.

Border tab
This tab shows information about borders of the crosstab.

Color
Specifies the color of the borders.
Width
Specifies the width of the borders.
Top Line
Specifies the line style of the top border. Choose a style from the drop-down list.
Bottom Line
Specifies the line style of the bottom border. Choose a style from the drop-down list.
Left Line
Specifies the line style of the left border. Choose a style from the drop-down list.
Right Line
Specifies the line style of the right border. Choose a style from the drop-down list.

Crosstab tab
This tab shows the layout-related information of the crosstab.

Horizontal Gap
Specifies the space between the content and left/right edge of a crosstab cell.
Vertical Gap
Specifies the space between the content and top/bottom edge of a crosstab cell.
Boundary Value
Specifies the number of aggregate fields in one row/column.
Row Total on Top
Specifies whether or not to display the Total rows for each column on the top of the crosstab.
Column Total on Left
Specifies whether or not to display the Total columns for each row in the first column in the crosstab.
Suppress Column Header
Specifies whether or not to suppress the column headers.
Suppress Row Header
Specifies whether or not to suppress the row headers.
Table Style
Specifies whether or not to add headers to the Total rows and columns.

Others tab
You can use this tab to view and configure some miscellaneous settings.

Current Row Block Index


Specifies the row index of data block.
Current Column Block Index
Specifies the column index of data block.
Items per Row Block
Specifies how many data blocks in the row direction should be split.
Items per Column Block
Specifies how many data blocks in the column direction should be split.
Crosstab Wizard
This wizard is displayed when you do one of the following:
● Select a crosstab, then click Menu > Edit > Wizard.

● Select a crosstab, then click the Crosstab Wizard button on the Context toolbar.

● Right-click the icon of a crosstab and select Crosstab Wizard from the shortcut menu.

It helps you to change data of the crosstab.

Crosstab Title
Specifies a title for the crosstab.
Sets the font, font style, size, alignment, font color and background color properties for the crosstab title.
Data Source
Displays the business view that has been used in the crosstab.
Filter
Opens the Query Filter dialog to specify the filter which you want to apply to the selected business view.

Resources
Displays the view elements in the selected business view.

Edits the selected dynamic resource.

Adds the selected group object to be displayed on the columns of the crosstab.

Adds the selected group object to be displayed on the rows of the crosstab.

Adds the selected aggregation object or detail object to be the summary field of the crosstab.
Columns/Rows
● Field
Lists the group objects that will be displayed in the columns/rows of the crosstab.

● Label
Specifies the display names of the group objects. By default these are blank and no names will be created for
the group objects to label the columns/rows. You can double-click the cells to edit them if required.

● Sort
Specifies the sort order of the group objects.

Summaries
● Field
Lists the aggregate/detail objects that you select to create summaries.

● Label
Specifies the display names of the aggregate/detail objects. By default these are blank and no names will be
created for the objects to label the summaries. You can double-click the cells to edit them if required.

● Aggregation
Specifies the functions used to summarize data of the detail objects.

Moves the selected view element one level up.

Moves the selected view element one level down.


Removes the selected resource.
OK
Applies the changes and closes the wizard.
Cancel
Does not retain changes and closes the wizard.
Help
Displays this help document.
Edit Conditions dialog

The dialog appears when you click the button or in the Conditional Formatting dialog. It helps
you to add a new condition or edit an existing condition for the selected field, and has the following two
modes:
● Basic

● Advanced

Advanced/Basic
Switches the dialog to the advanced/basic mode.
OK
Applies the settings and exits the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.

Basic mode
The basic mode provides function for creating simple filter conditions which are connected by AND and OR
operators.
Delete the current condition line.
Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.
● =
Equal to

● >
Greater than

● >=
Greater than or equal to

● <
Less than

● <=
Less than or equal to

● !=
Not equal to

● [not] in
Causes an enumerated list of values to appear in the WHERE clause predicate, used for evaluating for a
true condition.

● [not] like
Like string pattern matching operator is used to compare the first expression string value to the pattern
string (the second expression). If you want to use wildcard character in the pattern string, only "_" and
"%" are supported.

● [not] between
Allows the system to evaluate whether or not data values are located between a range of values
indicated in the predicate.

● is [not] null
It is used in WHERE clause predicates to match null values occurring in a specified data field.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or
select a value from the drop-down list. When you type in the value manually, if multiple values are
required, they should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\
\".
Logic
Lists the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line.

Advanced mode
The advanced mode enables the building of more complex filter conditions via the grouping of conditions.
Add Condition
Adds a new condition line.
Delete
Deletes the selected condition line.
Group
Makes the selected conditions in a group. Conditions can also be added to an existing group by selecting
the conditions and the group while holding the Ctrl button, and then clicking the Group button.
Ungroup
Makes the selected condition ungrouped.
Up
Moves the selected condition or group up to a higher level.
Down
Moves the selected condition or group down to a lower level.
Logic
Specifies the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line

● AND NOT
Logic operator AND NOT which is applied to this and the next line.

● OR NOT
Logic operator OR NOT which is applied to this and the next line.

Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or
select a value from the drop-down list. When you type in the value manually, if multiple values are
required, they should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\
\".
Condition Expression
Displays the SQL statement of the condition.
Edit Detail Table dialog
This dialog appears when you right-click a summary and select Edit Detail Table from the shortcut menu. It helps
you to edit which fields will be displayed in the table when performing the go to detail action on the summary.

Resources
Displays all the group and detail objects in the selected business view.

Adds the selected view element to be displayed in the table.

Removes the selected view element.


Field
Lists the view elements that have been added to the table.
Label
Specifies the display names for the selected fields.

Moves the selected view element one step up.

Moves the selected view element one step down.


OK
Applies the changes and closes the dialog.
Cancel
Cancels the changes and exits the dialog.
Help
Displays this help document.
Edit Image dialog
This dialog appears when you right-click an image and select Edit from the shortcut menu. It helps you
to edit the image.

Image From
Specifies the source of the image file.
● Local File
Specifies to use an image from the local file system.
❍ File Name
Specifies the path and name of the image file. You can click Browse button to locate the image file.

● Web URL
Specifies to use an image via URL.
❍ Image URL
Specifies the URL of the image file.

Note: If your JReport Server is in an intranet which requires a proxy, to successfully access the
image via URL, you need to add the parameters -Dhttp.proxyHost=XXX -Dhttp.proxyPort=XX
to the server's startup file JRServer.bat, which is located in <install_root>\bin.

● Library
Specifies to use an existing image.
❍ My Images
The My Images folder is a virtual location where JReport Server stores the images that have once
been inserted into reports. Select the one you want to use.

Preview
Displays a preview of the selected image.
OK
Applies the settings and closes the dialog.
Cancel
Cancels the changes and closes the dialog.
Help
Displays this help document.
Edit Link dialog
This dialog appears when you right-click an object, click Edit Link on the shortcut menu. It helps you to
link the specified object to a report, URL or E-mail address as required.
Select Link Type
Specifies the type of the link target. It can be one of the following:
● Link to Report

● Link to URL

● Link to E-mail

Link to Report
It helps you to link a specified object to a report.
Target Report
Specifies the linked target report.
Target Report Parameters
Assigns values to the parameters of the target report.
● Name
Lists all parameters contained in the target report.

● Main Report Field


Lists all the DBFields, formulas, summaries and parameters in the main report which are of the same
data type as the parameters of the target report.
Target Component
Specifies the target components in the selected report to link the object to.


Adds the target components in the selected report to link the object to.


Removes the selected component.

Conditions
Specifies the link conditions between the target report and the main report.


Adds the selected field of the target report to set up link between the target report and the main
report.


Removes the selected condition.

● Main
Lists the DBFields in the main report which are of the same data type as the selected fields in the
target report.

● OP
Specifies the operator to set up links between the target report and the main report.

● Target
Lists the selected fields of the target report.

Open in New Window


If selected, the linked report will be loaded in a new window.

Link to URL
It helps you to link a specified object to a location specified by a URL.
Hyperlink
Specifies the URL for the hyperlink that is to be used to link the object.
Open in New Window
If selected, the URL will be loaded in a new window.

Link to E-mail
It helps you to link the specified object to an e-mail address.
Hyperlink
Specifies the e-mail address that the object will be linked to.
OK
Applies the settings and closes the dialog.
Cancel
Cancels the changes and exits the dialog.
Help
Displays this help document.
Edit Multimedia dialog
This dialog appears when you right-click a multimedia object and select Edit from the shortcut menu. It
helps you to edit the multimedia object.

Flash
Specifies to insert a flash file to the current report.
Real Media File
Specifies to insert a realmedia file to the current report.
Windows Media File
Specifies to insert a Windows Media file to the current report.
File Name/URL
Specifies the name or URL of the multimedia object that is to be inserted into the report. Type in the
name or URL in the text box or click Browse to find the file.
Plug-in Page
Specifies the URL of the plug-in page from which to download the player with which to play the
multimedia object file (if it isn't already installed on your local disk).
Properties
Specifies the properties of the multimedia object.
● For Flash
❍ Play
Specifies whether to start the flash file automatically when the report is opened.

❍ Loop
Specifies whether to play the flash file repeatedly.

❍ Movie Quality
Specifies the quality of the flash.

● For Real Media File


❍ Auto Start
Specifies whether to start the realmedia file automatically when the report is opened.

❍ Center
Specifies whether to place the realmedia file in the center of the report.

❍ Loop
Specifies whether to play the realmedia file repeatedly.

❍ Loop Number
Specifies how many times you want to play the realmedia file.

● For Windows Media File


❍ Auto Start
Specifies whether or not to start the Windows Media automatically when the report is opened.

❍ Auto Rewind
Specifies whether or not to rewind the Windows Media file automatically.

❍ Play Count
Specifies the number of times you want to play this media file.

OK
Applies the settings for the multimedia object and closes this dialog.
Cancel
Cancels the edition and closes the dialog.
Help
Displays this help document.
Enter Values dialog

The dialog appears when you click the button while specifying values for a parameter. It helps
you to specify multiple values for the parameter.

Available Values
Lists all predefined parameter values for selection. When the parameter is bound with a column, but
the Display Column is different from the Bind Column, values of the Display Column are listed here.
Selected Values
Lists the values selected. The selected values are case sensitive.

Adds the selected values from the Available Values box to the Selected Values box.

Removes the selected values from the Selected Values box.

Adds all the selected values from the Available Values box to the Selected Values box.
Removes all the selected values from the Selected Values box.
Enter Values
This option is available when the parameter's Allow Type-in of Value property is set to true in JReport
Designer.
Enter a value manually in the text box and then click the button next to add the value to the Selected
Values box. When the parameter is bound with a column, but the display column is different from the
bind column, make sure the value you enter is that of the bind column.
All
If selected, it means that the parameter value result is all the values in the DBMS. This option is
available when the parameter's Enable the "All" Option property is set to true in JReport Designer. This
is translated in SQL to remove the parameter which may select more values than listed in the available
values list.
For example, when the parameter query is:
SELECT CUSTOMERS.CUSTOMERID,CUSTOMERS.CUSTOMERNAME FROM CUSTOMERS where CUSTOMERS.
CUSTOMERID>0 and CUSTOMERS.CUSTOMERID<4

When you click to add 1, 2 and 3 as the parameter values, which are all the available values, the
SQL is:
(CUSTOMERS.CUSTOMERID IN ( 1,2,3))

Run the same report again and this time check the All checkbox in the Enter Values dialog, the query is
then:
( 1 = 1)

In this case, you will get more customers even though available values are only 1 – 3.
Note: When a multi-value parameter is inserted as a field into a report and All is selected as the value,
the field will show the string "All" which represents all the values in the DBMS.
OK
Applies the selected values to the parameter and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Export dialog
This dialog appears when you click Menu > File > Export. It helps you to set settings for exporting the
report result to different formats.

Select Report Result Format


Specifies the format to which the report result will be exported.
View Report Result
If selected, the result will be directly opened in the web browser if the format is supported by a plug-in
of the web browser; otherwise you will be prompted to save the result file.
Save to File System
If selected, the report result will be saved to a specified folder.
Save to Version System
If selected, the report result will be saved as a result version in JReport Server's versioning system.
File Name
Specify a name for the result file in the field.
More/Less Options
Click to show/hide the additional settings for exporting the report to the specified format.
● Style Group
Specifies the style group that will be applied to the exported result. When the <No Style> item in the
Style Group drop-down list is selected, the style group property defined for specific exporting format in
JReport Designer will be applied to export the report result to that format.

● Properties
Specifies the properties for the selected format:
❍ PDF

❍ HTML

❍ Excel

❍ Text

❍ RTF

❍ XML

❍ PostScript

OK
Exports the report with the settings you specified.
Cancel
Cancels the operation and closes this dialog.
Help
Displays this help document.
Field Properties dialog
The dialog appears when you right-click a field and select Properties from the shortcut menu. It helps you to
specify the properties of the field and contains the following tabs:
● General tab

● Font tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the field.
Name
Specifies the display name of the field.
Width
Specifies the width of the field.
Format
Specifies the format of the field.
Height
Specifies the height of the field.
Top Padding
Specifies the space between the text of the field and its top border.
Bottom Padding
Specifies the space between the text of the field and its bottom border.
Left Padding
Specifies the space between the text of the field and its left border.
Right Padding
Specifies the space between the text of the field and its right border.
Background
Specifies the background color of the field.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Foreground
Specifies the foreground color of the field.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB.

Font tab
This tab shows the font-related information of the field.

Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the field.
Vertical Alignment
Specifies the vertical alignment mode of the text in the field.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Strikethrough
Specifies whether or not to attach a strikeout line to the text.
Italic
Specifies whether to make the text italic or not.
Autofit
Specifies whether or not to automatically adjust the width of the field.
Word Wrap
Specifies whether or not to wrap the text to the field width.
Ignore HTML Tag
If this option is unchecked, JReport will parse HTML tag elements in the field value while the report is to be
saved as an HTML file; or the field value will appear in the HTML file the same as that in JReport Studio (HTML
tag elements in the field value, if any, will not be parsed).

Border tab
This tab shows information about borders of the field.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Shadow
Specifies whether the borders will have a shadow effect or not.
Shadow Color
Specifies the color of the border shadow.
Fill Effects dialog
This dialog helps you to specify either a gradient or an image as the fill effect of an object. It contains
the following tabs:
● Gradient tab

● Image tab

OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.

Gradient tab
This tab allows you to specify the gradient colors to fill the object.
Fill Gradient
Displays the type of gradient to fill the object. It is Linear by default.
Start Color
Specifies a color in the gradient graph.
End Color
Specifies the other color in the gradient graph.
Start X
Specifies the horizontal position, measured in the percentage of the object's width, from the left edge
of the object, where the gradient starts.
Start Y
Specifies the vertical position, measured in the percentage of the object's height, from the top edge of
the object, where the gradient starts.
End X
Specifies the horizontal position, measured in the percentage of the object's width, from the left edge
of the object, where the gradient ends.
End Y
Specifies the vertical position, measured in the percentage of the object's height, from the top edge of
the object, where the gradient ends.
Preview
Displays a preview of your settings.

Image tab
This tab allows you to specify an image to fill the object.

Choose Image File


Specifies the image file. Click Browse to select the required image.
Display
Specifies the layout style of the image in the object. It can be one of the following: Tile, Center and
Scaled.
Image X
Displays the left position of the area, measured in the percentage of the image's width, from the left
edge of the image.
Image Y
Displays the bottom position of the area, measured in the percentage of the image's width, from the
bottom edge of the image.
Width
Displays the width of the area, measured in the percentage of the image's width.
Height
Displays the height of the area, measured in the percentage of the image's height.
The above four options, namely Image X, Image Y, Width and Height, are used to define an area in the
image and put the defined area of the image into the object. Their values are fixed.
Preview
Displays a preview of your settings.
Filter Control Properties dialog
This dialog appears when you right-click a filter control and select Properties from the shortcut menu. It helps
you to edit the properties of the filter control and contains the following tabs:
● General tab

● Font tab

● Border tab

● Title tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the filter control.
Name
Specifies the name of the filter control.
Format
Specifies the field value format in the filter control.
Filter On

Displays the field that the filter control is based on. You can click the button to open the Select Field dialog
to select another field.
Apply To
Specifies the components to which the filter created with the filter control will be applied.
Width
Specifies the width of the filter control.
Height
Specifies the height of the filter control.
Background
Specifies the background color of the filter control.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Foreground
Specifies the foreground color of the filter control.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB.
Show Title
Specifies whether to show the title of the filter control.

Font tab
This tab shows the font-related information of the text in the filter control.

Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Italic
Specifies whether to make the text italic or not.
Border tab
This tab shows information about borders of the filter control.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.

Title tab
This tab shows information about the title of the filter control. It is available when the Show Title option is
selected in the General tab of the same dialog.
Text
Specifies the text of the title.
● Auto Map Field Name
Specifies whether to use the field name as the title. If selected, the Text box above is disabled for inputting.

Background
Specifies the background color of the title.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Foreground
Specifies the foreground color of the title.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Italic
Specifies whether to make the text italic or not.
Filter dialog
The dialog appears when you click Menu > Edit > Filter. It helps you to set criteria for filtering records,
and has the following two modes:
● Basic

● Advanced

Inspector
Opens the Filter Inspector dialog.

Advanced/Basic
Switches the dialog to the advanced/basic mode.
OK
Closes the dialog and filters the records of the report with the specified criteria.
Cancel
Cancels to set criteria for filtering records and exits the dialog.
Help
Displays this help document.

Basic mode
The basic mode provides function for creating simple filter conditions which are connected by AND and OR
operators.
Apply to
Specifies the component to which the filter will be applied.

Deletes the current condition line.


Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.
● =
Equal to

● >
Greater than

● >=
Greater than or equal to

● <
Less than

● <=
Less than or equal to

● !=
Not equal to

● [not] in
Causes an enumerated list of values to appear in the WHERE clause predicate, used for evaluating for a
true condition.

● [not] like
Like string pattern matching operator is used to compare the first expression string value to the pattern
string (the second expression). If you want to use wildcard character in the pattern string, only "_" and
"%" are supported.

● [not] between
Allows the system to evaluate whether or not data values are located between a range of values
indicated in the predicate.

● is [not] null
It is used in WHERE clause predicates to match null values occurring in a specified data field.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or
select a value from the drop-down list. When you type in the value manually, if multiple values are
required, they should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\
\".
Logic
Lists the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line.

● END
Logic operator END which is applied to this line.

Advanced mode
The advanced mode enables the building of more complex filter conditions via the grouping of conditions.

Apply to
Specifies the component to which the filter will be applied.
Add Condition
Adds a new condition line.
Delete
Deletes the selected condition line or group.
Group
Makes the selected condition lines in a group. Condition lines can also be added to an existing group by
selecting the condition lines and the group while holding the Ctrl button, and then clicking the Group
button.
Ungroup
Makes the selected condition line or group ungrouped.
Up
Moves the selected condition line or group up to a higher level.
Down
Moves the selected condition line or group down to a lower level.
Logic
Specifies the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line

● AND NOT
Logic operator AND NOT which is applied to this and the next line.

● OR NOT
Logic operator OR NOT which is applied to this and the next line.

Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or
select a value from the drop-down list. When you type in the value manually, if multiple values are
required, they should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\
\".
Condition Expression
Displays the SQL statement of the filter.
Filter Inspector dialog
The dialog appears when you click the Inspector button in the Filter dialog. It lists all the filters the
current studio report is using for your information.

Query Filter
Lists the filters created via the Query Filter dialog.

Dialog Filter
Lists the filters created via the Filter dialog.
On Screen Filter
Lists the filters created via the Filter panel and via filter controls.

Go To Filter
Lists all the go to filters that are created when performing the go-to-by-value action on the report.

OK
Applies the changes and closes the dialog.
Cancel
Cancels the changes and exits the dialog.
Help
Displays this help document.
Flash Properties dialog
The dialog appears when you right-click a flash object and select Properties from the shortcut menu. It helps
you to edit the properties of the flash object.

Name
Specifies the display name of the flash, which will be shown on the shortcut menu of the flash.
Alternate Text
Specifies the alternate text which will be shown if the flash cannot be displayed.
Width
Specifies the width of the flash.
Height
Specifies the height of the flash.
Movie Quality
Specifies the quality of the flash.
Play
Specifies whether to start the flash file automatically when the report is opened.
Loop
Specifies whether to play the flash file repeatedly.
OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.
Font dialog

This dialog appears when you select a label or field and click the Font button on the toolbar. It
helps you to specify the font format of the label or field.

Font
Specifies the font face.
Size
Specifies the font size.
Color
Specifies the font color.
To change the color, click the color indicator to select a color, or click More Colors in the color
indicator to access the Color Picker dialog in which you can select a color within a wider range or input
a color string in the format #RRGGBB.

Specifies whether to make the object bold.


Specifies whether to make the object italic.

Specifies whether to underline the object.


Preview
Shows the font effect.
OK
Applies the font format you specified and closes this dialog.
Cancel
Cancels to change the font format and closes the dialog.
Help
Displays this help document.
Format Category(X) Axis dialog
This dialog appears when you right-click a chart and then select Format Axes > Format Category(X) Axis from
the shortcut menu. It helps you to format the category(X) axis of the chart, and consists of the following tabs:
● General tab

● Font tab

OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the category(X) axis of the chart.

Line
Specifies the line style for the category(X) axis.
● Color
Specifies the color of the category(X) axis.

● Thickness
Specifies the thickness for the line of the category(X) axis.

● Transparency
Specifies the transparency for the color of the category(X) axis.

Labels
Specifies the properties for the labels on the category(X) axis.
● Show Axis Label Tips
Specifies whether to show the complete label text when the mouse pointer points at a label on the category
(X) axis.

● Label Position
Specifies whether to show the label text outside or inside the category(X) axis.

● Label Font Automatic Orientation


Specifies to adjust the rotation angle of the label text on the category(X) axis automatically according to the
length of the label text, in degrees.

● Angle
Specifies to customize the rotation angle of the label text on the category(X) axis. Activated when Label Font
Automatic Orientation is unchecked. You can input the angle in the text box directly.

Value Control
Specifies the value control for the category(X) axis.
● Min Value
Specifies the minimal data value that will appear on the category(X) axis.

● Max Value
Specifies the maximal data value that will appear on the category(X) axis.

● Use Start Value


Specifies whether to set the start value of category(X) axis. This option applies to scatter and bubble charts,
and only if the value on the category axis is not numeric.

● Increment
Specifies the increased amount between two adjacent values on the category(X) axis. This option applies to
scatter and bubble charts.

Font tab
This tab shows the font-related information of the category(X) axis.
Font
Specifies the font face of the label text.
Size
Specifies the font size of the label text.
Fill Type
Specifies the fill type of the label text.
Color
Specifies the color of the label text.
Transparency
Specifies the transparency of the label text.
Font Style
Specifies the font style of the text. It can be one of the following: Plain, Bold, Italic and Bold Italic.
Format Category(X) Gridline dialog
This dialog appears when you right-click a chart and then select Format Gridlines > Category(X) Gridline from
the shortcut menu. It helps you to format the category(X) gridline of the chart.

Color
Specifies the color schema for category(X) gridlines in the chart.
Transparency
Specifies the transparency of the color of category(X) gridlines in the chart.
Line Style
Specifies the line style for category(X) gridlines in the chart.
Thickness
Specifies the thickness for category(X) gridlines in the chart.
OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Format Floor dialog
This dialog appears when you right-click a chart and then select Format Walls > Format Floor from the shortcut
menu. It helps you to format the floor of the chart and contains the following tabs:
● General tab

● Border tab

OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the floor.

Fill Type
Specifies the fill type for the floor of the chart.
Color
Specifies the color schema for the floor of the chart.
Transparency
Specifies the transparency of the color schema that is applied to the floor of the chart.

Border tab
This tab shows information about borders of the floor.

Color
Specifies the color for border of the chart floor.
Thickness
Specifies the thickness for border of the chart floor.
Transparency
Specifies the transparency for color of the border.
Line Style
Specifies the style for border of the chart floor.
Border Type
Specifies the type for the border of the chart floor.
Format Legend dialog
This dialog appears when you right-click a chart and select Format Legend from the shortcut menu. This dialog
helps you to format the legend of the chart and contains the following tabs:
● General tab

● Placement tab

● Border tab

● Font tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the chart legend.
Name
Specifies the display name of the chart legend, which will be shown on the shortcut menu of the legend.
Width
Specifies the width of the chart legend.
Height
Specifies the height of the chart legend.
Fill Type
Specifies the type for filling the chart legend.
Color
Indicates the background color of the chart legend.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Transparency
Specifies the transparency of the legend background.
Show Value
Specifies whether to show the value of each legend.
Show Percent
Specifies whether to show the percentage of each legend.
Show Tips
Specifies whether to show the corresponding data information when the mouse pointer points at a target in the
chart legend.

Placement tab
This tab shows the position-related information of the chart legend.

Placement
Specifies the position of the legend in the platform.
Secondary Placement
Specifies the position of the legend on the basis of the Placement property.
Top Margin
Specifies the distance between the legend labels and the top border of the legend.
Bottom Margin
Specifies the distance between the legend labels and the bottom border of the legend.
Left Margin
Specifies the distance between the legend labels and the left border of the legend.
Right Margin
Specifies the distance between the legend labels and the right border of the legend.
Label Vertical Spacing
Specifies the vertical distance between two adjacent legend labels.
Label Horizontal Spacing
Specifies the horizontal distance between two adjacent legend labels.
Reverse Labels
Specifies whether or not to arrange the legend labels in a reverse order.

Border tab
This tab shows information about borders of the chart legend.

Line Style
Specifies the line style of the legend borders.
Border Type
Specifies the type of the legend borders.
Color
Specifies the color of the legend borders.
Transparency
Specifies the transparency of the legend borders.
Thickness
Specifies the thickness of the legend borders.

Font tab
This tab shows the font-related information of the chart legend.

Font
Specifies the font face for the legend labels.
Size
Specifies the font size for the legend labels.
Fill Type
Specifies the fill type for the legend labels.
Color
Specifies the color for the legend labels.
Transparency
Specifies the transparency for the legend labels, in percent.
Font Style
Specifies the font style of the text. It can be one of the following: Plain, Bold, Italic and Bold Italic.
Font Rotation
Specifies the rotation angle of each legend label around its center, in degrees.
Word Wrap
Specifies whether or not to enable word wrapping for the label text.
Format Paper dialog
This dialog appears when you right-click a chart and select Format Paper from the shortcut menu. It helps you
to format the paper of the chart and contains the following tabs:
● General tab

● Border tab

● Coordinate tab

● Graph tab

● Threshold Line tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the chart paper.
Name
Specifies the display name of the chart paper, which will be shown on the shortcut menu of the paper.
Width
Specifies the width of the chart paper.
Height
Specifies the height of the chart paper.
Fill Type
Specifies the type for filling the chart paper.
Color
Indicates the background color of the chart paper.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Transparency
Specifies the transparency of the chart paper background.
Show Tip
Specifies whether to show the corresponding data information when the mouse pointer points at a target in the
chart paper.
Show Category and Series
Specifies whether to show data of the category and value axes when the mouse pointer points at a target in
the chart paper. It takes effect only when the option Show Tips is checked.

Border tab
This tab shows information about borders of the chart paper.

Line Style
Specifies the line style of the chart paper borders.
Border Type
Specifies the type of the chart paper borders.
Color
Specifies the color of the chart paper borders.
Transparency
Specifies the transparency of the chart paper borders.
Thickness
Specifies the thickness of the chart paper borders.

Coordinate tab
You can use this tab to view and configure properties of the coordinates.

Scale X
Specifies the scaling ratio for the X axis.
Scale Y
Specifies the scaling ratio for the Y axis.
Angle X
Specifies the rotation angle around the X axis.
Angle Y
Specifies the rotation angle around the Y axis.
Perspective
Specifies the perspective effect of the chart. Input an integer to set the effect.
Interactive
Specifies whether the chart can be interactive or not.
Graph tab
You can use this tab to view and configure properties of the graphic object. This tab differs according to the
following chart types:
● Bar/Bench

● Line/Area

● Clustered Pie

● Donut Pie

Bar/Bench
Specifies the properties on bars of the chart.

Type
Specifies the type of the bars.
● Normal
Specifies to make the bars be quadrate.

● Cylinder
Specifies to make the bars be columned.
Size
Specifies the size of the bars in the chart.
● Width
Specifies the width of the bars. Applies to bar charts only.

Depth
Specifies the depth properties for bars of the chart.
● Use Depth
Specifies whether to make the chart visually three-dimensional.

● Depth
Specifies the depth of the bars/benches.

● Direction
Specifies the angle of the axis along the depth of the bars/benches.

Static Data Label


Specifies properties of the static data labels.
● Show Static Data Label
Specifies whether or not to show the static data labels.

● Position
Specifies the position of the static data label. Available only when Show Static Data Label is set to true.
❍ Auto Fit
If selected, the data labels will be displayed automatically.

❍ Outside Top
If selected, the data labels will be displayed on the outside top of the nodes.

❍ Inside Top
If selected, the data labels will be displayed on the inside top of the nodes.

❍ Inside Center
If selected, the data labels will be displayed in the inside center of the nodes.

❍ Inside Bottom
If selected, the data labels will be displayed at the inside bottom of the nodes.

● Type
Specifies in which way the value labels will be displayed around the chart section.
❍ Value - Shows the value for the chart section.

❍ Category Name - Shows the category name for the chart section. Only applies to pie chart.

❍ Percent - Shows the percentage of the section to the total. Only applies to pie chart.

❍ Value Percent - Shows the value and the percentage for the chart section.

Line/Area
Specifies properties on lines/areas in the chart.
Size
Specifies the size of the lines/areas in the chart.
● Line Thickness
Specifies thickness of the lines. Applies to line charts only.

Depth
Specifies the depth properties of the chart.
● Use Depth
Specifies whether to make the chart visually three-dimensional.

● Depth
Specifies the depth of the lines/areas.

● Direction
Specifies the angle of the axis along the depth of the lines/areas.

Static Data Label


Specifies properties of the static data labels.
● Show Static Data Label
Specifies whether or not to show the static data labels.

● Position
Specifies the position of the data labels on the areas. Available only when Show Static Data Label is set to
true.
❍ Auto Fit
If selected, the data labels will be displayed automatically.

❍ Top Center
If selected, the data labels will be displayed in the top center of the nodes on the lines/areas.

❍ Top Left
If selected, the data labels will be displayed on the top left of the nodes on the lines/areas.

❍ Top Right
If selected, the data labels will be displayed on the top right of the nodes on the lines/areas.

❍ Bottom Left
If selected, the data labels will be displayed on the bottom left of the nodes on the lines/areas.

❍ Bottom Center
If selected, the data labels will be displayed in the bottom center of the nodes on the lines/areas.

❍ Bottom Right
If selected, the data labels will be displayed on the bottom right of the nodes on the lines/areas.

● Type
Specifies in which way the value labels will be displayed around the chart section.
❍ Value - Shows the value for the chart section.

❍ Category Name - Shows the category name for the chart section. Only applies to pie chart.

❍ Percent - Shows the percentage of the section to the total.

❍ Value Percent - Shows the value and the percentage for the chart section.

Clustered Pie
Specifies properties on the clustered pies in the chart.
Pie
● Show Pie Name
Specifies whether or not to show the clustered pie name.

Static Data Label


Specifies properties of the static data labels.
● Show Static Data Label
Specifies whether or not to show the static data labels.

● Position
Specifies the position of the data labels on the clustered pies. Available only when Show Static Data Label is
set to true.
❍ Auto Fit
If selected, the data labels will be displayed automatically.

❍ Sticker
If selected, the data labels will be displayed next to the clustered pies.

❍ Slim Leg
If selected, the data labels will be displayed beside the clustered pies and pointed by thin lines.

❍ Best Fit
If selected, the data labels will be displayed at the best fit position automatically.

❍ On Slices
If selected, the data labels will be displayed on the slices of clustered pies.

● Type
Specifies in which way the value labels will be displayed around the chart section.
❍ Value - Shows the value for the chart section.

❍ Category Name - Shows the category name for the chart section. Only applies to pie chart.

❍ Percent - Shows the percentage of the section to the total.

❍ Value Percent - Shows the value and the percentage for the chart section.

Donut Pie
Specifies properties on the donut pies in the chart.

Donut Hole
Specifies the percentage the hole’s thickness will take from the total radius of the donut pie circle.
Donut
● Show donut Name
Specifies whether or not to show the donut pie name.

Static Data Label


Specifies properties of the static data labels.
● Show Static Data Label
Specifies whether or not to show the static data labels.

● Position
Specifies the position of the data labels on the donut pies. Available only when Show Static Data Label is set
to true.
❍ Auto Fit
If selected, the data labels will be displayed automatically.

❍ Sticker
If selected, the data labels will be displayed next to the donut pies.

❍ Slim Leg
If selected, the data labels will be displayed beside the donut pies and pointed by thin lines.

❍ Best Fit
If selected, the data labels will be displayed at the best fit position automatically.

❍ On Slices
If selected, the data labels will be displayed on the slices of the donut pies.

● Type
Specifies in which way the value labels will be displayed around the chart section.
❍ Value - Shows the value for the chart section.

❍ Category Name - Shows the category name for the chart section. Only applies to pie chart.

❍ Percent - Shows the percentage of the section to the total.

❍ Value Percent - Shows the value and the percentage for the chart section.

Notes:
● If the chart is a combo chart composed by areas/ bars/lines, the areas/bars/lines will be shown as sub tab in
the Graph tab.

● There is no graph tab for bullet chart.

Threshold Line tab


You can use this tab to view and configure properties of the threshold lines.
Threshold Line1
Specifies the properties of the first threshold line.
● Show Threshold Line1
Specifies whether or not to show the first threshold line.

● Threshold Value
Specifies the value of the first threshold line.

● Threshold Line Color


Specifies the color of the first threshold line.

Threshold Line2
Specifies the properties of the second threshold line.
● Show Threshold Line2
Specifies whether or not to show the second threshold line.

● Threshold Value
Specifies the value of the second threshold line.

● Threshold Line Color


Specifies the color of the second threshold line.

Transparency
Specifies the transparency of the threshold lines.
Format Platform dialog
This dialog appears when you right-click a chart and select Format Platform from the shortcut menu. It you to
format the platform of the chart and contains the following tabs:
● General tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
Specifies the color schema to fill the platform.
Color
Specifies the color with which to fill the platform.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB, or click More Fill Effects to specify a gradient or an image as the fill effect in the Fill Effects
dialog. If you want to make the background transparent, input Transparent in the text box.

Transparency
Specifies the transparency of the color.

Border tab
Specifies the properties for borders of the chart platform.
Border Type
Specifies the type for border of the platform.
● None
The object has no visible border lines.

● Raised
The object has 3D borders that appear as if they are raised off the page.

● Recess
The object has 3D borders that appear as if they are pressed into the page.

● Shadow
The object has two shadowed borders, beneath and to the right of the object.

● Solid
The object has single-line borders (default value).

Color
Specifies the color for border of the platform.
Transparency
Specifies the transparency for color of the border.
Line Style
Specifies the line style to apply to the border of the platform.
Thickness
Specifies the thickness of the border.
End Caps
Specifies the ending style of the border line.
● Butt
Ends unclosed subpaths and dash segments with no added decoration.

● Round
Ends unclosed subpaths and dash segments with a round decoration that has a radius equal to half of the
width of the pen.

● Square
Ends unclosed subpaths and dash segments with a square projection that extends beyond the end of the
segment to a distance equal to half of the line width.

Line Joint
Specifies the line joint style for the border line.
● Miter
Joins path segments by extending their outside edges until they meet.

● Round
Joins path segments by rounding off the corner at a radius of half the line width.

● Bevel
Joins path segments by connecting the outer corners of their wide outlines with a straight segment.

● Joint Round
Joins path segments by rounding off the corner at a specified radius.

Radius
Specifies the radius for the border joint of the platform border line. Available only when Line Joint is set to Joint
Round.
Dash
Specifies the dash size of border line.
● Auto Adjusted Dash
If selected, the dash size will be adjusted automatically.

● Fixed Dash Size


If selected, the dash size will be fixed size.
Format Value(Y) Axis dialog
This dialog appears when you right-click a chart and select Format Axes > Format Value (Y) Axis from the
shortcut menu. It helps you to format the value(Y) axis of the chart and contains the following tabs:
● General tab

● Font tab

OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.

General tab
Specifies the general properties for the value(Y) axis of the chart.

Line
Specifies the line style for the value(Y) axis.
● Color
Specifies the color of the line.

● Thickness
Specifies the thickness for the line.

● Transparency
Specifies the transparency for the color of the line.

Labels
Specifies the properties for the labels on the value(Y) axis.
● Show Axis Label Tips
Specifies whether to display the complete label text when the mouser pointer points at a label on the value
(Y) axis.

● Label Position
Specifies whether to show the label text outside or inside the value(Y) axis.

● Label Font Automatic Orientation


Specifies to adjust the rotation angle of the label text on the value(Y) axis automatically according to the
length of the label text, in degrees.

● Angle
Specifies to customize the rotation angle of the label text on the value(Y) axis. Activated when Label Font
Automatic Orientation is unchecked. You can input the angle in the text box directly.

Value Control
Specifies the value control for the value(Y) axis.
● Min Value
Specifies the minimum value that is to be displayed on the value(Y) axis.

● Max Value
Specifies the maximum value that is to be displayed on the value(Y) axis.

● Use Start Value


Specifies whether to set the start value of the value(Y) axis. This option applies to 2-D charts that have a
wall.

● Increment
Specifies the increased amount between two adjacent values on the value(Y) axis. This option applies to
scatter and bubble charts.

Font tab
Specifies the font format for text on the value(Y) axis.
Font
Specifies the font face of the label text.
Size
Specifies the font size of the label text.
Fill Type
Specifies the fill type of the label text.
Color
Specifies the color of the label text.
Transparency
Specifies the transparency of the label text.
Font Style
Specifies the font style of the text. It can be one of the following: Plain, Bold, Italic and Bold Italic.
Format Value(Y) Gridline dialog
This dialog appears when you right-click a chart and select Format Gridlines > Value(Y) Gridline from the
shortcut menu. It helps you to format the value(Y) gridline of the chart.

Color
Specifies the color schema for value(Y) gridlines in the chart.
Line Style
Specifies the style for value(Y) gridlines in the chart.
Transparency
Specifies the transparency of the color of value(Y) gridlines in the chart.
Thickness
Specifies the thickness for value(Y) gridlines in the chart.
OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Format Wall dialog
This dialog appears when you right-click a chart and select Format Walls > Format Wall from the shortcut
menu. It helps you to format the wall of the chart and contains the following tabs:
● General tab

● Border tab

OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the wall.

Wall
Specifies the color or the fill effect of the wall of the chart.
● Fill Type
Specifies the fill type of the wall.

● Color
Specifies the color of the wall.

● Transparency
Specifies the transparency of the color schema that is applied to the wall of the chart.

Bound
Specifies the fill color or effect to compound with the basic fill which is set in the Wall area.
● Fill Type
Specifies the fill type of the wall.

● Color
Specifies the fill color schema or effect to compound with the basic fill which is set for the walls of a chart in
the Wall area.

● Transparency
Specifies the transparency of the color schema that is applied here.

Border tab
This tab shows information about borders of the wall.

Color
Specifies the color schema for the border of the wall.
Transparency
Specifies the transparency of the color schema that is applied to the border of the wall.
Thickness
Specifies the thickness for the border of the wall.
Line Style
Specifies the line style for the border of the wall.
Formula Editor dialog
This dialog appears when you expand the Dynamic Resource > Formulas node in the Resources panel, then click <Add Formula…> or right-click a
dynamic formula and then select Edit from the shortcut menu. It helps you to create or edit a dynamic formula in a report.
Formula Name
Specifies the name of the formula.
Fields box
Displays a list of those fields that are available to formulas. The fields include the group and detail objects in the current business view, and the
dynamic formulas that have been created in the report. You can select one field and double-click it to insert the field into the formula text panel at the
insertion point.
Functions box
Displays a list of JReport functions that are available to formulas. When you select one function and double-click it, JReport will insert the selected
function into the formula text panel at the insertion point completely with its required syntax items (parentheses, commas, etc).
For details about usage of the functions, refer to Built-in functions in the JReport Designer User's Guide.
Operators box
Displays a list of operators that are available to formulas. Select one operator and double-click it to insert the selected operator into the formula text
panel at the insertion point.
For details about usage of the operators, refer to Operators in the JReport Designer User's Guide.
Formula text panel
In this panel, you can build and edit your formula. There are several ways to work with formulas:
● Select formula components from the Fields, Functions and Operators boxes in the Formula Editor, and then double-click the components, JReport will
then insert them in the formula;

● Type your formula in the formula text panel directly;

● Use the above two methods together;

● Paste formula text from the text document of other programs.

Note: If you refer to any field in the formula, the reference name for that field will be prefixed with an @ sign. If the field name contains spaces, the
reference name in formula will be quoted with double-quotation marks (""). For example, if the field name is Customer Name, then the reference name
will be @"Customer Name".

Tests the syntax of your formula. If the syntax is incorrect, JReport provides an opportunity to correct the errors.

Selects a general operator to be used in the formula text panel.

A color palette is provided for you to insert the HEX code of a color simply by clicking the corresponding color in the color palette instead of inputting
the HEX code manually.
OK
Creates or edits the formula and closes the dialog.
Cancel
Cancels the creation or edition of the formula and closes the dialog.
Help
Displays this help document.
Group Footer Properties dialog
The dialog appears when you right-click a table group footer and select Properties from the shortcut menu. It
helps you to specify the properties of the group footer and contains the following tabs:
● General tab

● Border tab

OK
Applies the settings for the group footer properties and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the group footer.

Name
Specifies the display name of the group footer.
Height
Specifies the height of the group footer.
Background
Specifies the background color of the group footer.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB, or click More Fill Effects to specify a gradient or an image as the fill effect in the Fill Effects
dialog. If you want to make the background transparent, input Transparent in the text box.

Border tab
This tab shows information about borders of the group footer.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Group Header Properties dialog
The dialog appears when you right-click a table group header and select Properties from the shortcut menu. It
helps you to specify the properties of the group header and contains the following tabs:
● General tab

● Border tab

OK
Applies the settings for the group header properties and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the group header.

Name
Specifies the display name of the group header.
Height
Specifies the height of the group header.
Background
Specifies the background color of the group header.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB, or click More Fill Effects to specify a gradient or an image as the fill effect in the Fill Effects
dialog. If you want to make the background transparent, input Transparent in the text box.

Border tab
This tab shows information about borders of the group header.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Image Properties dialog
The dialog appears when you right-click an image and select Properties from the shortcut menu. It helps you to
edit the properties of the image.

Name
Specifies the display name of the image, which will be shown on the shortcut menu of the image.
Picture Name
Displays the image file name.
Scaling Mode
Specifies the scaling mode for the image. The mode can be:
● actual size: The image will be shown in its actual size.

● customize: The image size will be equal to the image field size.

● fit image: The image will be scaled largest to wholly show in the image field.

● fit width: The image will be scaled largest to fit the width of the image field.

● fit height: The image will be scaled largest to fit the height of the image field.

Horizontal Alignment
Specifies the horizontal alignment of the image in its container.
Vertical Alignment
Specifies the vertical alignment of the image in its container.
Rotation
Rotates the image at a specified angle in degrees. The following is the meaning of different values:
● 0 - No rotation.

● Positive value - Rotate the image clockwise.

● Negative value - Rotate the image anticlockwise.

Note: When you rotate an image, the rectangle that holds the image maintains its original size, which may
result in that the image exceeds the field border and therefore the parts that extend outside of the border will
be cut off.
Width
Specifies the width of the image.
Height
Specifies the height of the image.
Alt
Specifies the alternate text which will be shown if the image cannot be displayed.
Title
Specifies tip information about the image, which will be displayed when the mouse cursor hovers on the image.
OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.
Insert Chart dialog
This dialog appears when you click Menu > Insert > Chart, or drag Chart from the Components panel to the
destination. It helps you to insert a chart to a report.

Chart Title
Specifies a title for the chart.

Sets the font, font style, size, alignment, font color and background color properties for the chart title.
Data Source
Specifies the data source on which the chart will be built.
Filter
Opens the Query Filter dialog to specify the filter which you want to apply to the selected business view.

Resources
Displays the view elements in the selected business view.

Edits the selected dynamic resource.

Adds the selected group or aggregation object to be displayed in the chart.


Show Values
Lists the values you want to show in the chart.
● Primary Axis
Adds a chart type to the primary axis.

● Secondary Axis
Adds a chart type to the secondary axis. Active only when the option Secondary Axis is checked.

Adds a combo chart to the Primary Axis or Secondary Axis.

Moves the selected view element one level up.

Moves the selected view element one level down.


Secondary Axis
Specifies whether to show the secondary axis in the chart.
Category

Lists the group object that will be displayed on the category axis of the chart.
Series

Lists the group object that will be displayed on the series axis of the chart.

Opens the Category Options dialog or Series Options dialog to define the sort order of the category or series
values and specify the number of the category or series values that will be displayed in the chart.

Removes the selected resource.


OK
Inserts a chart in the report and closes the dialog.
Cancel
Cancels the insertion and closes the dialog.
Help
Displays this help document.
Insert Crosstab dialog
This dialog appears when you click Menu > Insert > Crosstab, or drag Crosstab from the Components panel to the
destination. It helps you to insert a crosstab to a report.

Crosstab Title
Specifies a title for the crosstab.

Sets the font, font style, size, alignment, font color and background color properties for the crosstab title.
Data Source
Specifies a data source on which the crosstab will be built from the data source drop-down list.
Filter
Opens the Query Filter dialog to specify the filter which you want to apply to the selected business view.

Resources
Displays the elements in the selected business view.

Edits the selected dynamic resource.

Adds the selected group object to be displayed in the columns of the crosstab.

Adds the selected group object to be displayed in the rows of the crosstab.

Adds the selected aggregation object or detail object to be the summary field of the crosstab.
Columns/Rows
● Field
Lists the group objects that will be displayed in the columns/rows of the crosstab.

● Label
Specifies the display names for the selected group objects.

● Sort
Specifies the sort order of the group objects.

Summaries
● Field
Lists the fields that you select to create summaries.

● Label
Specifies the display names for the selected fields.

● Aggregation
Specifies the functions used to summarize data of the selected detail objects.

Moves the selected view element one level up.

Moves the selected view element one level down.

Removes the selected resource.


OK
Inserts a crosstab and closes the dialog.
Cancel
Cancels the insertion and closes the dialog.
Help
Displays this help document.
Insert Filter Control dialog
The dialog is displayed when you drag Filter Control from the Components panel to a report, or click
Menu > Insert > Filter Control. It helps you to insert a filter control into a report for filtering all data
components in the report (excluding its subreport) using the same data source.

Filter On
Specifies a field on which the filter control is based.
OK
Inserts a filter control into the report and closes the dialog.
Cancel
Cancels the insertion and closes the dialog.
Help
Displays this help document.
Insert Image dialog
This dialog appears when you click Menu > Insert > Image, drag Image from the Components panel to
a report, or click on the Page screen of the JReport Studio Wizard. It helps you to insert an
image into a report.

Image From
Specifies the source of the image file.
● Local File
Specifies to use an image from the local file system.
❍ File Name
Specifies the path and name of the image file. You can click the Browse button to locate the image
file.

● Web URL
Specifies to use an image via URL.
❍ Image URL
Specifies the URL of the image file.

Note: If your JReport Server is in an intranet which requires a proxy, to successfully access the
image via URL, you need to add the parameters -Dhttp.proxyHost=XXX -Dhttp.proxyPort=XX
to the server's startup file JRServer.bat, which is located in <install_root>\bin.
● Library
Specifies to use an existing image.
❍ My Images
The My Images folder is a virtual location where JReport Server stores the images that have once
been inserted into reports. Select the one you want to use.

Preview
Displays a preview of the selected image.
OK
Inserts the image into the report and closes the dialog.
Cancel
Cancels the insertion and closes the dialog.
Help
Displays this help document.
Insert Multimedia dialog
This dialog appears when you click Menu > Insert > Multimedia Object or drag Multimedia Object from
the Components panel to the report. It helps you to insert a multimedia object to a report.

Flash
Specifies to insert a flash file to the current report.
Real Media File
Specifies to insert a real media file to the current report.
Windows Media File
Specifies to insert a Windows Media file to the current report.
File Name/URL
Specifies the name or URL of the multimedia object that is to be inserted into the report. Type in the
name or URL in the text box or click Browse to find the file.
Plug-in Page
Specifies the URL of the plug-in page from which to download the player with which to play the inserted
multimedia object on a webpage, if the player isn't already installed on your local disk.
Properties
Specifies the properties of the multimedia object.
● For Flash
❍ Play
Specifies whether to start the flash file automatically when the report is opened.

❍ Loop
Specifies whether to play the flash file repeatedly.

❍ Movie Quality
Specifies the quality of the flash.

● For Real Media File


❍ Auto Start
Specifies whether to start the realmedia file automatically when the report is opened.

❍ Center
Specifies whether to place the realmedia file in the center of the report.

❍ Loop
Specifies whether to play the realmedia file repeatedly.

❍ Loop Number
Specifies how many times you want to play the realmedia file.

● For Windows Media File


❍ Auto Start
Specifies whether or not to start the Windows Media automatically when the report is opened.

❍ Auto Rewind
Specifies whether or not to rewind the Windows Media file automatically.

❍ Play Count
Specifies the number of times you want to play this media file.

OK
Inserts the multimedia object to the report and closes the dialog.
Cancel
Cancels the insertion and closes the dialog.
Help
Displays this help document.
Insert Parameter Control dialog
The dialog is displayed when you drag Parameter Control from the Components panel to a report, or
click Menu > Insert > Parameter Control. It helps you to insert a parameter control into a report for
delivering parameter values to the report.

Select a Parameter
Specifies a parameter from the list where all the parameters except cascading parameters used by the
current report are displayed.
OK
Inserts a parameter control into the report and closes the dialog.
Cancel
Cancels the operation and closes the dialog.
Help
Displays this help document.
Insert Parameter Form Control dialog
The dialog is displayed when you drag Parameter Form Control from the Components panel to a report,
or click Menu > Insert > Parameter Form Control. It helps you to insert a parameter form control into a
report for running reports from the current report.

Please Select Target Reports


Specifies the reports to run.
● Current Report
Specifies to run the current report with the specified parameters.
❍ Select Parameters
Specifies the parameters that are used to run the current report. Once you select one of a group of
cascading parameters, all the other parameters in the cascading group will be selected
automatically, and vice versa.

● Others
Specifies to run other reports.
❍ Reports
Specifies the target reports to run. If all the selected reports contain no parameters, you cannot
finish the dialog.

❍ Parameter Information
Lists the parameters used by the selected reports.

Include "Submit" Button


Specifies whether the inserted parameter form control contains the Submit button. If Submit is
included, it is used to submit the parameter values you specified in the parameter form control. If
Submit is not included, once you change the values of a parameter in the parameter form control, the
new values will be applied automatically.
OK
Inserts a parameter form control into the report and closes the dialog.
Cancel
Cancels the operation and closes the dialog.
Help
Displays this help document.
Insert Table dialog
This dialog appears when you click Menu > Insert > Table, or drag Table from the Components panel to the
destination. It helps you to insert a table into a report, and consists of the following tabs:
● Display tab

● Group tab

● Summary tab

Table Title
Specifies a title for the table.

Sets the font, font style, size, alignment, font color and background color properties for the table title.
Data Source
Specifies a data source on which the table will be built from the data source drop-down list.
Filter
Opens the Query Filter dialog to specify the filter which you want to apply to the selected business view.

Table Type
Selects a type for the table you want from the Table Type drop-down list. By default, the Group Left Above is
selected.
● Group Above
Creates a table with group information above the detail panel.

● Group Left
Creates a table with group information left to the detail panel.

● Group Left Above


Creates a table with group information left above the detail panel.

● Summary Table
Creates a table with only group and summary information.

Display tab
Specifies the fields that you want to display in the table.
Resources
Displays all the view elements in the selected business view.

Edits the selected dynamic resource.

Removes the selected dynamic resource.

Adds the selected view element to be displayed in the table.

Removes the selected view element.


Field
Lists the view elements that have been added to the table.
Label
Specifies the display names for the added view elements.

Moves the selected view element one step up.

Moves the selected view element one step down.

Group tab
Specifies the fields to group the data.

Resources
Displays all the available group objects you can use to group the data in the table.

Adds the selected group object as a group field.

Removes the selected group object.


Field
Lists all the group objects that have been added as the group fields.
Sort
Specifies the sort order for each group: Ascend, Descend, or No Sort.

Moves the selected group one step up.

Moves the selected group one step down.

Summary tab
Specifies the fields on which to create summaries.
Resources

Displays all the available aggregation objects you can use to create summaries in the table.

Edits the selected dynamic resource.

Removes the selected dynamic resource.

Adds the selected aggregation object as the summary field.

Removes the selected aggregation object.


Field
Lists the groups that have been added in the table and the aggregation objects added to summarize data in each
group.

Moves the selected aggregation object one step up.

Moves the selected aggregation object one step down.


OK
Inserts a table and closes the dialog.
Cancel
Cancels the insertion and closes the dialog.
Help
Displays this help document.
JReport Studio Wizard

This wizard appears after you click Menu > File > New Report (or the New Report button on the Standard
toolbar). It guides you through the process of creating a studio report, and contains the following screens:
● Page screen

● Layout screen

● Bind Data screen

● Style screen

Displays this help document.


Back
Goes back to the previous screen.
Next
Goes to the next screen.
Save
Saves the report to the server resource tree.
Run
Opens the report in JReport Studio.

Page screen
Specifies the page settings of the report.
Templates
Specifies the template to be applied to the report.
● Blank
Specifies to use the blank template.

● Template1
Specifies to use Template1, in which you can specify the report title and company logo.

● Template2
Specifies to use Template2, in which you can specify the company logo, company title, report title and sub title.

Page Setup
Opens the Page Setup dialog to specify the page properties.

Report Title
Specifies the display name of the report title.
Company Logo
Specifies the company logo image file.
Company Title 1
Specifies the display name of the company title 1.
Company Title 2
Specifies the display name of the company title 2.
Sub Title
Specifies the display name of the sub title.

Specifies the font properties for report title, sub title or company title.
● Font
Lists all the available font faces that can be selected to apply to the title.

● Font Style
Specifies the font style of the title. It can be one of the following: plain, bold, italic, and bold italic.

● Size
Specifies the font size of the title.

● Align
Specifies the position of the title to be left, right, center or justify.

● Font Color
Specifies the font color of the title.

● Background Color
Specifies the background color of the title.

Opens the Insert Image dialog to customize the image for company logo.

Layout screen
Specifies the layout of the report.
Built-in layouts
Lists the built-in layouts.
● Default
There is only a cell in the tabular.

● Top and Bottom


There are two cells in the tabular. One is at the top, and the other is at the bottom. Each cell uses half the height
of the tabular.

● T-Style
There are two rows in the tabular. Each row uses half the height of the tabular. The top row has two cells with
each using half the width of the row, and the bottom row has only a cell.
● 2×3
There are six cells in the tabular. Each cell uses one third the height and one third the width of the tabular.

● T-Style 2
There are two rows in the tabular. Each row uses half the height of the tabular. The top row has only a cell, and
the bottom row has two cells with each using half the width of the row.

Toolbar
The toolbar is enabled when a tabular cell in the below edit layout panel is selected.
● Horizontal Split
Splits the selected tabular cell into two cells horizontally.

● Vertical Split
Splits the selected tabular cell into two cells vertically.

● Merge
Merges the selected adjacent tabular cells that form a rectangular into one cell.

● Align
Specifies how the component aligns in the tabular cell.
❍ Left
Aligns the component to the left of the tabular cell.

❍ Center
Aligns the component to the center of the tabular cell.

❍ Right
Aligns the component to the right of the tabular cell.

Edit layout panel


Specifies the component to be inserted into the selected tabular cell.
● Existing Components
Specifies a component from the ones existing in the open report to create the report.

● New Components
Specifies the component you want to place in the tabular cell.
❍ Table
Creates a table in the tabular cell.

❍ Crosstab
Creates a crosstab in the tabular cell.

❍ Chart
Creates a chart in the tabular cell.

❍ Blank
Creates nothing in the tabular cell.

Tabular Cell Size


Displays the size of the selected tabular cell, in percent.
● Width
Shows the width of the tabular cell.

● Height
Shows the height of the tabular cell.

Bind Data screen


Specifies the data source and the fields to be displayed in each component selected in the Layout screen. This
screen differs according to the following component types: Table, Crosstab, Chart and Blank.

For Table component


Specifies the data displayed in the table.

Table Title
Specifies the title of the table. The title is a special label bound with the table. Though it can be positioned freely in
a report, once you remove the table from the report, the title will be removed too.
Specifies the font properties of the table title.

Data Source
Specifies the business view in the current catalog on which the table will be built.
Filter
Opens the Query Filter dialog to specify the filter you want to apply to the selected business view.

Table Type
Specifies the table type.
● Group Above
Creates a table with group information above the detail panel.

● Group Left
Creates a table with group information left to the detail panel.

● Group Left Above


Creates a table with group information left above the detail panel.

● Summary Table
Creates a table with only group and summary information.

Display tab
Specifies the fields to be displayed in the table.
● Resources
Displays all the view elements in the selected business view.


Edits the selected dynamic resource.


Removes the selected dynamic resource.


Adds the selected view element to be displayed in the table.


Removes the selected view element.

● Field
Lists the view elements that have been added to the table.

● Label
Specifies the display names of the added view elements.


Moves the selected view element one step up.


Moves the selected view element one step down.

Group tab
Specifies the fields to group the data.
● Resources
Displays all the available group objects you can use to group data in the table.


Adds the selected group object as a group by field.


Removes the selected group object.

● Field
Lists all the group objects that have been added as the group by fields.

● Sort
Specifies the sort order for each group: Ascending, Descending, or No Sort.


Moves the selected group object one step up.


Moves the selected group object one step down.

Summary tab
Specifies the fields on which to create summaries.
● Resources

Displays all the available aggregation objects you can use to create summaries in the table.


Edits the selected dynamic resource.


Removes the selected dynamic resource.


Adds the selected aggregation object as the summary field.


Removes the selected aggregation object.

● Field
Lists the groups that have been added in the table and the aggregation objects added to summarize data in each
group.


Moves the selected aggregation object one step up.


Moves the selected aggregation object one step down.

For Crosstab component


Specifies the data displayed in the crosstab.
Crosstab Title
Specifies the title of the crosstab. The title is a special label bound with the crosstab. Though it can be positioned
freely in a report, once you remove the crosstab from the report, the title will be removed too.

Specifies the font properties of the crosstab title.

Data Source
Specifies the business view in the current catalog on which the crosstab will be built.
Filter
Opens the Query Filter dialog to specify the filter you want to apply to the selected business view.

Resources
Displays the elements in the selected business view.

Edits the selected dynamic resource.

Adds the selected group object to be displayed on the columns of the crosstab.

Adds the selected group object to be displayed on the rows of the crosstab.

Adds the selected aggregation object or detail object to be the summary field of the crosstab.
Columns/Rows
● Field
Lists the group objects that will be displayed on the columns/rows of the crosstab.

● Label
Specifies the display names of the group objects. By default these are blank and no names will be created for the
group objects to label the columns/rows. You can double-click the cells to edit them if required.

● Sort
Specifies the sort order of the group objects.

Summaries
● Field
Lists the aggregate/detail objects that you select to create summaries.

● Label
Specifies the display names of the aggregate/detail objects. By default these are blank and no names will be
created for the objects to label the summaries. You can double-click the cells to edit them if required.

● Aggregation
Specifies the functions used to summarize data of the detail objects.

Moves the selected view element one level up.

Moves the selected view element one level down.

Removes the selected view element.

For Chart component


Specifies the data displayed in the chart.
Chart Title
Specifies the title of the chart. The title is a special label bound with the chart. Though it can be positioned freely in
a report, once you remove the chart from the report, the title will be removed too.

Specifies the font properties of the chart title.

Data Source
Specifies the business view in the current catalog on which the chart will be built.
Filter
Opens the Query Filter dialog to specify the filter you want to apply to the selected business view.

Resources
Displays the view elements in the selected business view.

Edits the selected dynamic resource.

Adds the selected group or aggregation object to be displayed in the chart.


Show Values
Lists the values you want to show in the chart.
● Primary Axis
Adds a chart type to the primary axis.

● Secondary Axis
Adds a chart type to the secondary axis. Active only when the option Secondary Axis is checked.

Adds a combo chart to the Primary Axis or Secondary Axis.

Moves the selected view element one level up.

Moves the selected view element one level down.


Secondary Axis
Specifies whether to show the secondary axis in the chart.
Category

Lists the group object that will be displayed on the category axis of the chart.
Series

Lists the group object that will be displayed on the series axis of the chart.

Opens the Category Options dialog or Series Options dialog to define the sort order of the category or series values
and specify the number of the category or series values that will be displayed in the chart.

Removes the selected resource.

For Blank
The Bind Data screen is disabled for Blank.

Style screen
Specifies the style of the report.
Styles
Lists all the available styles for you to select from. No style will be applied when you select None.
Label Properties dialog
The dialog appears when you right-click a label and select Properties from the shortcut menu. It helps you to
specify the properties of the label and contains the following tabs:
● General tab

● Font tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the label.
Name
Specifies the display name of the label, which will be shown on the shortcut menu of the label.
Width
Specifies the width of the label.
Text
Specifies the text of the label.
Height
Specifies the height of the label.
Top Padding
Specifies the space between the text of the label and its top border.
Bottom Padding
Specifies the space between the text of the label and its bottom border.
Left Padding
Specifies the space between the text of the label and its left border.
Right Padding
Specifies the space between the text of the label and its right border.
Background
Specifies the background color of the label.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Foreground
Specifies the foreground color of the label.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB.

Font tab
This tab shows the font-related information of the label.

Font
Specifies the font face of the label text.
Size
Specifies the font size of the label text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the label.
Vertical Alignment
Specifies the vertical alignment mode of the text in the label.
Bold
Specifies whether to make the label text bold or not.
Underline
Specifies whether the label text will be underlined or not.
Strikethrough
Specifies whether or not to attach a strikeout line to the label text.
Italic
Specifies whether to make the label text italic or not.
Autofit
Specifies whether or not to automatically adjust the width of the label.
Word Wrap
Specifies whether or not to wrap the text to the label width.
Ignore HTML Tag
If this option is unchecked, JReport will parse HTML tag elements in the field value while the report is to be
saved as an HTML file; or the field value will appear in the HTML file the same as that in JReport Studio (HTML
tag elements in the field value, if any, will not be parsed).

Border tab
This tab shows information about borders of the label. You can modify all the border settings in this tab.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Shadow
Specifies whether the borders will have a shadow effect or not.
Shadow Color
Specifies the color of the border shadow.
Navigation Control Properties dialog
This dialog appears when you right-click a navigation control and select Properties from the shortcut menu. It
helps you to edit the properties of the navigation control and contains the following tabs:
● General tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the navigation control.

Name
Specifies the name of the navigation control.
Width
Specifies the width of the navigation control.
Height
Specifies the height of the navigation control.
Background
Specifies the background color of the navigation control.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.

Border tab
This tab shows information about borders of the navigation control.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Page Setup dialog
This dialog appears when you click the Page Setup link in the JReport Studio Wizard or click Menu >
File > Page Setup in JReport Studio. It helps you to specify the page properties and consists of the
following two options:
● Studio Report

● Print Report

OK
Applies all changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.

Studio Report
If selected, the unit of page size is pixel, and the dialog appears
Resolution
Specifies the paper resolution. If you select Custom Size, you can then input the paper's Width and
Height.
● Type
Specifies the paper type.

● Width
Specifies the paper width.

● Height
Specifies the paper height.

Margin
Specifies the distance of the report data to the top, bottom, left, or right edge of the page.
● Top
Specifies the top margin of the page.

● Bottom
Specifies the bottom margin of the page.

● Left
Specifies the left margin of the page.

● Right
Specifies the right margin of the page.
Print Report
If selected, the unit of the page size is inch, and the dialog appears

Page
Specifies the paper size. If you select Custom Size, you can then input the paper's Width and Height.
● Type
Specifies the paper type.

● Width
Specifies the width of the paper.

● Height
Specifies the height of the paper.

Orientation
Specifies the paper orientation.
● Portrait
Displays the report data in a portrait orientation (vertically).

● Landscape
Displays the report data in a landscape orientation (horizontally).

Margin
Specifies the margin properties.
● Top
Specifies the distance of report data to the top edge of the page.

● Left
Specifies the distance of report data to the left edge of the page.

● Bottom
Specifies the distance of report data to the bottom edge of the page.

● Right
Specifies the distance of report data to the right edge of the page.
Parameter Control Properties dialog
This dialog appears when you right-click a parameter control and select Properties from the shortcut menu. It
helps you to edit the properties of the parameter control and contains the following tabs:
● General tab

● Font tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the parameter control.

Name
Specifies the name of the parameter control.
Parameter
Displays the name of the parameter.
Width
Specifies the width of the parameter control.
Height
Specifies the height of the parameter control.
Top Padding
Specifies the space between the text of the parameter control and its top border.
Bottom Padding
Specifies the space between the text of the parameter control and its bottom border.
Left Padding
Specifies the space between the text of the parameter control and its left border.
Right Padding
Specifies the space between the text of the parameter control and its right border.
Background
Specifies the background color of the parameter control.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Foreground
Specifies the foreground color of the parameter control.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB.

Font tab
This tab shows the font-related information of the text in the parameter control.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text.
Vertical Alignment
Specifies the vertical alignment mode of the text.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Italic
Specifies whether to make the text italic or not.

Border tab
This tab shows information about borders of the parameter control.
Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Parameter Field Properties dialog
The dialog appears when you right-click a parameter field and select Properties from the shortcut menu. It
helps you to modify the properties of the parameter field and contains the following tabs:
● General tab

● Font tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the parameter field.

Name
Specifies the display name of the parameter field, which will be shown on the shortcut menu of the parameter
field.
Width
Specifies the width of the parameter field.
Format
Specifies the data format of the parameter field.
Height
Specifies the height of the parameter field.
Top Padding
Specifies the space between the text of the parameter field and its top border.
Bottom Padding
Specifies the space between the text of the parameter field and its bottom border.
Left Padding
Specifies the space between the text of the parameter field and its left border.
Right Padding
Specifies the space between the text of the parameter field and its right border.
Background
Specifies the background color of the parameter field.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Foreground
Specifies the foreground color of the parameter field.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB.

Font tab
This tab shows the font-related information of the parameter field. You can modify all the font settings in this
tab.
Font
Specifies the font face of the parameter field text.
Size
Specifies the font size of the parameter field text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the parameter field.
Vertical Alignment
Specifies the vertical alignment mode of the text in the parameter field.
Bold
Specifies whether to make the object text bold or not.
Underline
Specifies whether the field text will be underlined or not.
Strikethrough
Specifies whether or not to attach a strikeout line to the parameter field text.
Italic
Specifies whether to make the field text italic or not.
Autofit
Specifies whether or not to automatically adjust the width of the parameter field.
Word Wrap
Specifies whether or not to wrap the text to the parameter field width.
Ignore HTML Tag
If this option is unchecked, JReport will parse HTML tag elements in the field value while the report is to be
saved as an HTML file; or the field value will appear in the HTML file the same as that in JReport Studio (HTML
tag elements in the field value, if any, will not be parsed).

Border tab
This tab shows information about borders of the parameter field. You can modify all the border settings in this
tab.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Shadow
Specifies whether the borders will have a shadow effect or not.
Shadow Color
Specifies the color of the border shadow.
Parameter Form Control Properties dialog
This dialog appears when you right-click a parameter form control and select Properties from the shortcut
menu. It helps you to edit the properties of the parameter form control and contains the following tabs:
● General tab

● Border tab

● Title tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the parameter form control.

Name
Specifies the name of the parameter form control.
Width
Specifies the width of the parameter form control.
Height
Specifies the height of the parameter form control.
Background
Specifies the background color of the parameter form control.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Show Title
Specifies whether to show the title of the parameter form control.

Border tab
This tab shows information about borders of the parameter form control.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.

Title tab
This tab shows information about the title of the parameter form control. It is available when the Show Title
option is selected in the General tab of the same dialog.

Text
Specifies the text of the title.
Background
Specifies the background color of the title.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Foreground
Specifies the foreground color of the title.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Italic
Specifies whether to make the text italic or not.
PDF Encrypt Option dialog
This dialog appears when you check the Encrypt checkbox in the Export dialog. It helps you to set
encryption options for the PDF file to be saved.

Compatibility
Specifies the encryption type to encrypt the PDF document. The option Acrobat 3.0 and later uses a low
encryption level (40-bit RC4), while the other option Acrobat 5.0 and later uses a high encryption level
(128-bit RC4).
Encryption Level
Shows the level of the encryption compatibility that you specified in the Compatibility drop-down list.
Require a password to open the document
Specifies the Document Open Password to prevent others from opening the document without
authorization.
● Document Open Password
Specifies the password to prevent others from opening the document without authorization.

● Confirm Password
Confirms the password you have specified in the Document Open Password text box.

Use a password to restrict printing and editing of the document and its security settings
Specifies the Permission Password to prevent others from printing and editing the document. The
password you specify here cannot be the same as the one that you use to open the document.
● Permissions Password
Specifies the password to prevent others from printing and editing.

● Confirm Password
Confirms the password you have specified in the Permissions Password text box.

● Printing Allowed
Specifies the printing quality for the PDF document.

● Changes Allowed
Specifies the editing actions that are permitted in the PDF document.

Enable copying of text, images and other content


Allows others to select and copy the contents of the PDF document.
Enable text access for screen reader devices for the visually impaired
Allows visually impaired users to read the PDF document with window readers. This option is available
only if the Compatibility option is set to Acrobat 5.0 or later Acrobat version.
OK
Applies the encryption option settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.
PDF Sign Option dialog
This dialog appears when you check the Sign checkbox in the Export dialog. It helps you to set signing
options for the PDF file to be saved.

Method
Specifies the digital signing method.
Digital ID File
Specifies whether to use a digital ID file from a specified directory.
User Password
Specifies a password for this digital ID file.
Confirm Password
Confirms the password.
Reason for Signing Document
Specifies the reason for signing the document.
Edit by Yourself
Edits the reason for signing the document. It is enabled when I agree to 'specified' portions of this
document is selected from the Reason for Signing Document drop-down list.
Location
Specifies your location accordingly.
Your Contact Information
Specifies your contact information accordingly.
OK
Applies the signing option settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.
Print dialog
This dialog appears when you click Menu > File > Print. It helps you to set settings for printing the
report result and contains the following tabs:
● General tab

● Appearance tab

OK
Prints the report result with the specified settings to a PDF or HTML file and opens it in an associated
program with which you can print the result to a printer.
Cancel
Cancels the print settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the report to be printed.
Print Method
Specifies the printing method to print the report result.
Printer
Specifies the settings of the printer.
● Printer
Specifies the name of the printer. Select one from the drop-down list.

● Media Tray
Specifies the media tray for the printer. Select one from the drop-down list.

● Print to File
Prints the document to a file instead of a printer. This kind of files can only be opened and printed by
serial port printer on Windows via DOS command.

Print Range
Specifies the pages to be printed.
● All
All pages will be printed.

● Pages...to...
Specifies the pages to be printed.

Copies
Specifies the information of the copies.
● Number of Copies
Specifies the number of copies you want to print. The number of copies will be applied to all specified
pages.

● Collate
Specifies the printing order for printing multiple-page reports. If checked, when you print two copies
of a three-page report, the page order is 1, 2, 3; 1, 2, 3.

Appearance tab
This tab shows the appearance of the report to be printed.

Color
Specifies the color of the report to be printed.
● Monochrome
Specifies to print the reports in Monochrome.
● Color
Specifies to print the reports in Color.

Quality
Specifies the printing quality.
● Draft
Specifies to print the report in draft quality.

● Normal
Specifies to print the report in normal quality.

● High
Specifies to print the report in high quality.

Sides
Specifies the print sides for the printed reports.
● One Side
Imposes each consecutive print-stream page upon the same side of consecutive media sheets.

● Duplex
Imposes each consecutive pair of print-stream pages upon the front and back sides of consecutive
media sheets, such that the orientation of each pair of print-stream pages on the medium is correct
for the reader as if for binding on the long edge.

● Tumble
Imposes each consecutive pair of print-stream pages upon the front and back sides of consecutive
media sheets, such that the orientation of each pair of print-stream pages on the medium is correct
for the reader as if for binding on the short edge.

Job Attributes
Specifies the properties of the print task.
● Priority
Specifies the print priority for this task.

● Job Name
Specifies the name of the print task.

● User Name
Specifies the name of the user.
Query Filter dialog
This dialog appears when you click the Filter button in the Bind Data screen of the JReport Studio Wizard.
It helps you to apply a filter to the business view used by the specified data component to narrow down
data scope. The dialog contains the following two modes:
● Basic

● Advanced

Advanced/Basic
Switches the dialog to the advanced/basic mode.
OK
Applies the filter and closes the dialog.
Cancel
Does not retain changes and closes this dialog.
Help
Displays this help document.

Basic mode
The basic mode provides function for creating simple filter conditions which are connected by AND and OR
operators.
Delete the selected condition line.
Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.
● =
Equal to

● >
Greater than

● >=
Greater than or equal to

● <
Less than

● <=
Less than or equal to

● !=
Not equal to

● [not] in
Causes an enumerated list of values to appear in the WHERE clause predicate, used for evaluating for a
true condition.

● [not] like
Like string pattern matching operator is used to compare the first expression string value to the pattern
string (the second expression). If you want to use wildcard character in the pattern string, only "_" and
"%" are supported.

● [not] between
Allows the system to evaluate whether or not data values are located between a range of values
indicated in the predicate.

● is [not] null
It is used in WHERE clause predicates to match null values occurring in a specified data field.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or
select a value from the drop-down list. When you type in the value manually, if multiple values are
required, they should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\
\".
Logic
Lists the logic operator.
● AND
Logic operator AND which is applied to this and the next line.

● OR
Logic operator OR which is applied to this and the next line.

Advanced mode
The advanced mode enables the building of more complex filter conditions via the grouping of conditions.
Filter
Specifies the filter you want to apply to the business view.
● User Defined
Specifies to create a user defined filter to apply to the business view.

● Predefined filters
The names of the predefined filters which were created on the business view in JReport Designer. You
can choose one of them to apply.
Add Condition
Adds a new condition line.
Delete
Deletes the selected condition line.
Group
Makes the selected conditions in a group. Conditions can also be added to an existing group by selecting
the conditions and the group while holding the Ctrl button, and then clicking the Group button.
Ungroup
Makes the selected group ungrouped.
Up
Moves the selected condition or group up to a higher level.
Down
Moves the selected condition or group down to a lower level.
Logic
Specifies the logic operator.
● AND
Logic operator And which is applied to this and the next line.

● OR
Logic operator Or which is applied to this and the next line.

● AND NOT
Logic operator And Not which is applied to this and the next line.

● OR NOT
Logic operator Or Not which is applied to this and the next line.

Field
Specifies the field to be filtered.
Operator
Specifies the operator to compose the filter expression.

Value
Specifies the value of how to filter the field. You can either enter the value manually in the text box or
select a value from the drop-down list. When you type in the value manually, if multiple values are
required, they should be separated with ",", and if "," or "\" is contained in the values, write it as "\," or "\
\".
Condition Expression
Displays the SQL statement of the condition.
RealMedia Properties dialog
The dialog appears when you right-click a RealMedia object and select Properties from the shortcut menu. It
helps you to specify the properties of the RealMedia object and contains the following tabs:
● General tab

● Controls tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the object.
Name
Specifies the display name of the object.
Alternate Text
Specifies the alternate text which will be shown if the object cannot be displayed.
Width
Specifies the width of the object.
Height
Specifies the height of the object.

Controls tab
This tab specifies the RealPlayer controls you want to display. The controls will be reproduced in the container
as they appear in RealPlayer.

Auto Start
Specifies whether to start the media file automatically when the report is opened.
Center
Specifies whether to place the presentation in the center of the image window and display it in its original size
(the size is determined by the Width and Height properties).
Loop
Specifies whether to play the media file repeatedly.
Loop Number
Specifies the number of the times the media file will loop during playback.
Note: If you have checked the Loop option and specified the Loop Number at the same time, the media file
will be played back according to the specified number, which means the Loop option will be ignored even
though the loop number is set to zero.
All Controls
Specifies whether to show all controls.
Pause Button
Specifies whether to show the Pause Button.
Play Button
Specifies whether to show the Play Button.
Stop Button
Specifies whether to show the Stop Button.
Control Panel
Specifies whether to show the Control Panel, which contains the following playback controls: Play Button,
Pause Button, Stop Button, Fast-forward Button, Rewind Button, Position Slider and Home Button.
Fast-forward Button
Specifies whether to show the Fast-forward Button.
Home Control
Specifies whether to show the Home Button, which is connected to the www.real.com website.

Image Window
Specifies whether to show the Image Window, which is used for displaying presentations.
Information Panel
Specifies whether to show the Information Panel that displays the title, author, and copyright for the currently
playing clip.
Volume Information
Specifies whether to show the Information/Volume Bar, which consists of the Information Panel and the Mute/
Volume Bar.
Mute Button and Volume Slider
Specifies whether to show the Mute Button and Volume Slider. If checked, the Volume Slider and Mute
checkboxes will be checked correspondingly. Otherwise, you can check Volume Slider or Mute respectively.
Position Field
Specifies whether to show the Position Field, which shows the position of the current clip that identifies the
clip's current place within the presentation timeline and the total clip length.
Position Slider
Specifies whether to show the Position Slider, which shows the currently playing position within the clip.
Rewind Button
Specifies whether to show the Rewind Button.
Status Bar
Specifies whether to show the Status Bar, which consists of a text message area, the network congestion LED,
and the current clip position indicator.
Status Field
Specifies whether to show the Status Field, which consists only of a text message area.
Information Field
Specifies whether to show the Information Field, which displays the title, author, and copyright for the
currently playing clip or portion of a multi-clip.
Report Body Properties dialog
The dialog appears when you click Menu > Edit > Report Body Properties. It helps you to specify the properties
of the report body and contains the following tabs:
● General tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the report body.

Name
Specifies the display name of the report body, which will be shown on the shortcut menu of the report body.
Color
Specifies the color of the report body.
To change the color, click the color indicator to select a color or click More Colors in the color indicator to
access the Color Picker dialog to specify a new color, or input a color string in the format #RRGGBB. You can
also click More Fill Effects in the color indicator to specify a gradient or an image as the fill effect of the
report body in the Fill Effects dialog. If you want to make the color transparent, input Transparent in the text
box.

Border tab
This tab shows information about borders of the report body.

Color
Specifies the color of the borders.
Width
Specifies the width of the border.
Top Line
Specifies the line style of the top border of the report body. Choose a style from the drop-down list.
Bottom Line
Specifies the line style of the bottom border of the report body. Choose a style from the drop-down list.
Left Line
Specifies the line style of the left border of the report body. Choose a style from the drop-down list.
Right Line
Specifies the line style of the right border of the report body. Choose a style from the drop-down list.
Report Parameters dialog
This dialog appears when you click Run in the JReport Studio Wizard to run a studio report with
parameters. It helps you to input parameter values for the report.

For every parameter the report uses, the dialog provides a prompt, a text box or a drop-down list. You
can input the parameter value in the text box, or select a predefined value from the drop-down list. If
the parameter is of DateTime type, click the calendar button to set a DateTime value with calendar.
And if the parameter's Allow Multiple Values property is set to true in JReport Designer, you can click
the button to specify multiple values for the parameter in the Enter Values dialog.

OK
Accepts the parameter values for further processing.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.
Save As dialog

This dialog appears when you click Menu > File > Save As (or the Save As button on the Standard toolbar)
or click Save on the JReport Studio Wizard. It helps you to save the current studio report, or save studio report
template if you are an administrator with the privilege of publishing resources. Options in the dialog vary
according to the file type you select.
File Type
Specifies the type of the file. It can be Studio Report or Studio Report Template. The option Studio Report
Template is available to administrators with the privilege of publishing resources.
Save
Saves the new file with the specified settings and closes this dialog.
Cancel
Does not save the file as a new one and closes the dialog.
Help
Displays this help document.

If you select Studio Report from the File Type drop-down list to save the current report, the dialog appears
Save in
Specifies where the report will be saved. The folder may be Public Reports or My Reports.
● Name
Displays the file names.

● Size
Displays the file size.

● Type
Displays the file type.
● Last Modified
Displays the last modified time of the file.

File Name
Specifies the name for the report.
Advanced
Displays the advanced settings.
● Status
Specifies the status of the report.
❍ Active
The report can be executed. To execute a report means to run, advanced run and schedule to run it.

❍ Inactive
The report cannot be executed. If selected, the corresponding Run, Advanced Run and Schedule commands
for the report are not available.

❍ Incomplete
The report is not completely designed and cannot be executed. If selected, the corresponding Run, Advanced
Run and Schedule commands for the report are not available.

● Catalog
Specifies the catalog for the new file.
❍ Set Original Catalog as Linked Catalog into Saved Report
If checked, the saved report will be linked with the catalog and the saved report will run with the catalog no
matter whether the two are in the same directory. If later the catalog is updated, the saved report will run
with the latest version of the catalog.

❍ Set Catalog Copy to Target Folder


If checked, the catalog will be copied to the directory where the report is saved and the saved report will run
with the copied catalog.

● Description
Specifies the description for the new file.

If you are an administrator with the privilege of publishing resources, you are able to see the option Studio
Report Template from the File Type drop-down list. By selecting the option you can save the studio report
template in the current studio report, the dialog appears
Template box
Lists the existing studio report templates.
File Name
Specifies the name of the studio report template. You can type the name as required to save it as a new wsld file
or select one from the template box above to overwrite an existing wsld file according to Publish privilege, which
is the system level authorization.
Select a Report dialog

This dialog appears when you click Menu > File > Open (or the Open button on the Standard toolbar). It helps
you to select the report you want to open.

Open
Specifies the catalog file which contains the report you want to open.
● Name
Displays the file names.

● Size
Displays the file size.

● Type
Displays the file type.

● Last Modified
Displays the last modified time of the file.

File Name
Specifies the name for the new file.
File Type
Specifies the type of the file.
OK
Applies the changes and closes the dialog.
Cancel
Does not retain any changes and closes the dialog.
Help
Displays this help document.
Select Field dialog

This dialog appears when you click + on the title bar of the Filter panel or click beside the Filter On
text box in the Filter Control Properties dialog. It allows you to select a field.

Filter On
Specifies a field to add into the Filter panel, or to replace the current field in the filter control.
OK
Applies the selected field and closes the dialog.
Cancel
Cancels the selection and closes the dialog.
Help
Displays this help document.
Select Resource dialog

This dialog is displayed when you click in the Add Aggregation dialog. It helps you to specify the
field on which the dynamic aggregation will be based.

In this dialog, all the group objects and detail objects in the current business view and the

dynamic formulas that have been created in the report will be listed. Select the required field and
then click OK.
OK
Selects the field and closes this dialog.
Cancel
Cancels the selection of a field and closes the dialog.
Help
Displays this help document.
Select Values dialog
This dialog appears when you right-click a table field and select Filter > More from the shortcut menu.
It helps you to specify a value to apply a filter criterion.

Available Values
Specifies the value to filter data with.

Opens the quick search toolbar as follows. You can search for values in the following value list using the
quick search toolbar.
The following are more about the usage of the quick search toolbar:
● Text field
Type in the text you want to search for in the text field and the matched text will be highlighted
among the values.

● X
Closes the quick search toolbar.


Lists the advanced options.
❍ Highlight All
Specifies whether to highlight all matched text.

❍ Match Case
Specifies whether to search for text that meets the case of the typed text.

❍ Match Whole Word


Specifies whether to search for text that looks the same as the typed text.


Highlights the next matched text.


Highlights the previous matched text.

Cancels the selection of a value.


OK
Closes the dialog and filters the table column with the value you specified.
Cancel
Cancels to filter the table column and closes the dialog.
Help
Displays this help document.
Series Options dialog

This dialog appears when you click the Top N button above the Series box in the Bind Data screen
of chart in the JReport Studio Wizard, Insert Chart dialog, Chart Wizard, or To Chart dialog. It helps
you to set the sort order of the series values and define the number of the series values that will be
displayed in the chart.

Series Order
Specifies in which order data on the series axis will be displayed.
● Ascend
Lists data in an ascending order.

● Descend
Lists data in a descending order.

● No Sort
Keeps the data in their original order in database.

Series Selection
Specifies the number of the series values that will be displayed in the chart.
● Select
Specifies the Select N condition to define the number of series values that will be displayed.
❍ All
If selected, all series values will be displayed.

❍ Top N
If selected, specify a number in the field to the right and the first N series values will be displayed.

❍ Bottom N
If selected, specify a number in the field to the right and the last N series values will be displayed.

● Based On
If checked, the series values will be sorted by values of the summary selected with the direction
specified. If unchecked, the series values will be sorted by the order specified in the Series Order box
of the dialog.

● Remaining Series In
Enabled only when Top N or Bottom N is selected from the Select drop-down list. Check this option
and then type a character string in the text field to group all the series values beyond the top/bottom
N range.

● Skip First
If you check the Skip First option and input a number M in the text field to the right, then the first M
series values in the chart will be skipped and the Select N condition will take effect beginning with M
+1. The skipped values will be included in the Remaining Series group together with all the series
values beyond the top/bottom N range.

OK
Accepts the changes and closes the dialog.
Cancel
Discards the changes and closes the dialog.
Help
Displays this help document.
Special Field Properties dialog
The dialog appears when you right-click a special field and select Properties from the shortcut menu. It helps
you to edit the properties of the special field and contains the following tabs:
● General tab

● Font tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the special field.

Name
Specifies the display name of the special field, which will be shown on the shortcut menu of the special field.
Width
Specifies the width of the special field.
Type
Specifies the type of the special field. Select a new one from the drop-down list if you want to change the type.
The following types are available:
● Modified Date
Prints the last modified date for the catalog.

● Modified Time
Prints the last modified time for the catalog.

● User Name
Prints the User ID with which you log onto JReport Server.

Height
Specifies the height of the special field.
Top Padding
Specifies the space between the text of the special field and its top border.
Bottom Padding
Specifies the space between the text of the special field and its bottom border.
Left Padding
Specifies the space between the text of the special field and its left border.
Right Padding
Specifies the space between the text of the special field and its right border.
Background
Specifies the background color of the special field.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Foreground
Specifies the foreground color of the special field.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB.

Font tab
This tab shows the font-related information of the special field. You can modify all the font settings in this tab.
Font
Specifies the font face of the special field text.
Size
Specifies the font size of the special field text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the special field.
Vertical Alignment
Specifies the vertical alignment mode of the text in the special field.
Bold
Specifies whether to make the object text bold or not.
Underline
Specifies whether the field text will be underlined or not.
Strikethrough
Specifies whether or not to attach a strikeout line to the field text.
Italic
Specifies whether to make the field text italic or not.
Autofit
Specifies whether or not to automatically adjust the width of the special field.
Word Wrap
Specifies whether or not to wrap the text to the special field width.
Ignore HTML Tag
If this option is unchecked, JReport will parse HTML tag elements in the field value while the report is to be
saved as an HTML file; or the field value will appear in the HTML file the same as that in JReport Studio (HTML
tag elements in the field value, if any, will not be parsed).

Border tab
This tab shows information about borders of the special field. You can modify all the border settings in this tab.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Shadow
Specifies whether the borders will have a shadow effect or not.
Shadow Color
Specifies the color of the border shadow.
Split Cell dialog

The dialog appears when you right-click a tabular cell and click button on the toolbar or click
Menu > Format > Split. It helps you to specify the number of rows and columns that the specified
tabular cell will be split into.

Split Cell Into


Specifies the number of rows and columns to split the selected tabular cell into.
● Number of Rows
Specifies the number of rows the tabular cell will be split into. Input a positive integer in the text box
to specify the number.

● Number of Columns
Specifies the number of columns the tabular cell will be split into. Input a positive integer in the text
box to specify the number.

OK
Closes this dialog and splits the tabular cell.
Cancel
Cancels to split the cell and closes this dialog.
Help
Displays this help document.
Summary Properties dialog
The dialog appears when you right-click a summary field and select Properties from the shortcut menu. It helps
you to specify the properties of the summary field and contains the following tabs:
● General tab

● Font tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the summary field.

Name
Specifies the display name of the summary field.
Width
Specifies the width of the summary field.
Format
Specifies the format of the summary field.
Height
Specifies the height of the summary field.
Top Padding
Specifies the space between the text of the summary field and its top border.
Bottom Padding
Specifies the space between the text of the summary field and its bottom border.
Left Padding
Specifies the space between the text of the summary field and its left border.
Right Padding
Specifies the space between the text of the summary field and its right border.
Background
Specifies the background color of the summary field.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Foreground
Specifies the foreground color of the summary field.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB.

Font tab
This tab shows the font-related information of the summary field.
Font
Specifies the font face of the text.
Size
Specifies the font size of the text.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the summary field.
Vertical Alignment
Specifies the vertical alignment mode of the text in the summary field.
Bold
Specifies whether to make the text bold or not.
Underline
Specifies whether the text will be underlined or not.
Strikethrough
Specifies whether or not to attach a strikeout line to the text.
Italic
Specifies whether to make the text italic or not.
Autofit
Specifies whether or not to automatically adjust the width of the summary field.
Word Wrap
Specifies whether or not to wrap the text to the summary field width.
Ignore HTML Tag
If this option is unchecked, JReport will parse HTML tag elements in the field value while the report is to be
saved as an HTML file; or the field value will appear in the HTML file the same as that in JReport Studio (HTML
tag elements in the field value, if any, will not be parsed).

Border tab
This tab shows information about borders of the summary field.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Shadow
Specifies whether the borders will have a shadow effect or not.
Shadow Color
Specifies the color of the border shadow.
Table Cell Properties dialog
The dialog appears when you right-click an empty table cell and select Properties from the shortcut menu. It
helps you to specify the properties of the table cell and contains the following tabs:
● General tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the table cell.

Width
Specifies the width of the table cell.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the table cell.
Height
Specifies the height of the table cell.
Vertical Alignment
Specifies the vertical alignment mode of the text in the table cell.
Top Padding
Specifies the space between the text of the table cell and its top border.
Bottom Padding
Specifies the space between the text of the table cell and its bottom border.
Left Padding
Specifies the space between the text of the table cell and its left border.
Right Padding
Specifies the space between the text of the table cell and its right border.
Background
Specifies the background color of the table cell.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.

Border tab
This tab shows information about borders of the table cell.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Table Footer Properties dialog
The dialog appears when you right-click a table footer and select Properties from the shortcut menu. It helps
you to specify the properties of the table footer and contains the following tabs:
● General tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the table footer.

Name
Specifies the display name of the table footer.
Height
Specifies the height of the table footer.
Background
Specifies the background color of the table footer.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB, or click More Fill Effects to specify a gradient or an image as the fill effect in the Fill Effects
dialog. If you want to make the background transparent, input Transparent in the text box.

Border tab
This tab shows information about borders of the table footer.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Table Header Properties dialog
The dialog appears when you right-click a table header and select Properties from the shortcut menu. It helps
you to specify the properties of the table header and contains the following tabs:
● General tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the table header.

Name
Specifies the display name of the table header.
Height
Specifies the height of the table header.
Background
Specifies the background color of the table header.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB, or click More Fill Effects to specify a gradient or an image as the fill effect in the Fill Effects
dialog. If you want to make the background transparent, input Transparent in the text box.

Repeat On Each Page


Specifies whether to repeat the table header on each page of the report.

Border tab
This tab shows information about borders of the table header.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Table Properties dialog
The dialog appears when you right-click a table and select Properties from the shortcut menu. It helps you to
specify the properties of the table and contains the following tabs:
● General tab

● Border tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the table.

Name
Specifies the display name of the table, which will be shown on the shortcut menu of the table.
Horizontal Alignment
Specifies the horizontal justification of the table. Choose an option from the drop-down list.
● left: Aligns the table on the left of the report.
● right: Aligns the table on the right of the report.

● center: Aligns the table in the center of the report.

Background
Specifies the background color of the table.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
Expand Data
Specifies whether or not to enable JReport Studio users to expand or collapse dimensions in the table.

Border tab
This tab shows information about borders of the table.

Color
Specifies the border color.
Width
Specifies the border width.
Top Line
Specifies the style of the top border line.
Bottom Line
Specifies the style of the bottom border line.
Left Line
Specifies the style of the left border line.
Right Line
Specifies the style of the right border line.
Table Wizard
This wizard is displayed when you do one of the following:
● Select a table, then click Menu > Edit > Wizard.

● Select a table, then click the Table Wizard button on the Context toolbar.

● Right-click the icon of a table and select Table Wizard from the shortcut menu.

It helps you to change data of the table and consists of the following tabs:
● Display tab

● Group tab

Table Title
Specifies a title for the table.

Sets the font, font style, size, alignment, font color and background color properties for the table title.
Data Source
Displays the business view that has been used in the table.
Filter
Opens the Query Filter dialog to specify the filter which you want to apply to the selected business view.

Display tab
Specifies the fields to be displayed in the table.
Resources
Displays all the view elements in the selected business view.

Edits the selected dynamic resource.

Removes the selected dynamic resource.

Adds the selected view element to be displayed in the table.

Removes the selected view element.


Field
Lists the view elements that have been added to the table.
Label
Specifies the display names of the selected fields.

Moves the selected view element one step up.

Moves the selected view element one step down.

Group tab
Specifies the fields to group the data.

Resources
Displays all the available group objects you can use to group the data in the table.

Adds the selected group object as a group field.

Removes the selected group object.


Field
Lists all the group objects that have been added as the group fields.
Sort
Specifies the sort order for each group: Ascend, Descend, or No Sort.

Moves the selected group one step up.

Moves the selected group one step down.


OK
Applies the changes and closes the wizard.
Cancel
Does not retain changes and closes this wizard.
Help
Displays this help document.
Tabular Cell Properties dialog
The dialog appears when you right-click a tabular cell and select Properties from the shortcut menu. It helps
you to specify the properties of the tabular cell.

Width
Specifies the width of the tabular cell.
Horizontal Alignment
Specifies the horizontal alignment mode of the text in the tabular cell.
Height
Specifies the height of the tabular cell.
Vertical Alignment
Specifies the vertical alignment mode of the text in the tabular cell.
Top Padding
Specifies the space between the text of the tabular cell and its top border.
Bottom Padding
Specifies the space between the text of the tabular cell and its bottom border.
Left Padding
Specifies the space between the text of the tabular cell and its left border.
Right Padding
Specifies the space between the text of the tabular cell and its right border.
Background
Specifies the background color of the tabular cell.
To change the color, click the color indicator to select a color, or click More Colors in the color indicator to
access the Color Picker dialog in which you can select a color within a wider range or input a color string in the
format #RRGGBB. If you want to make the background transparent, input Transparent in the text box.
OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.
Tabular Properties dialog
The dialog appears when you right-click a tabular and select Properties from the shortcut menu. It
helps you to edit the properties of the tabular.

Width
Specifies the width of the tabular.
Height
Specifies the height of the tabular.
Background
Specifies the background color of the tabular.
To change the color, click the color indicator to select a color, or click More Colors in the color
indicator to access the Color Picker dialog in which you can select a color within a wider range or input
a color string in the format #RRGGBB. If you want to make the background transparent, input
Transparent in the text box.
OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.
To Chart dialog
This dialog appears when you right-click a crosstab and then select To Chart on the shortcut menu or click Menu >
Edit > To Chart. It allows you to specify settings for converting a crosstab into a chart.

Title
Specifies a title for the chart.

Specifies the font, font style, size, align, font color and background color properties for the title.
Resources
Displays all the view elements used in the crosstab.

Adds the selected group or aggregation object to be displayed in the chart.


Category
Lists the group object that will be displayed on the category axis of the chart.
Series

Lists the group object that will be displayed on the series axis of the chart.
Show Values
Specifies the types for chart and sets the values for the Primary Axis or Secondary Axis separately.
● Primary Axis
Adds a chart type to the primary axis.

● Secondary Axis
Adds a chart type to the secondary axis.

Secondary Axis
Specifies whether to show the secondary axis in the chart.

Opens the Category Options dialog or Series Options dialog to define the sort order of the category or series values
and specify the number of the category or series values that will be displayed in the chart.

Adds a combo chart to the Primary Axis or Secondary Axis.

Moves the selected view element one level up.

Moves the selected view element one level down.

Removes the selected view element.


OK
Applies the settings and closes the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.
To Crosstab dialog
This dialog appears when you right-click a chart and then select To Crosstab on the shortcut menu or click Menu >
Edit > To Crosstab. It allows you to specify settings for converting a chart into a crosstab.

Title
Specifies a title for the crosstab.

Specifies the font, font style, size, align, font color and background color properties for the title.
Resources
Displays all the view elements used in the chart.

Adds the selected group object to be displayed in the columns of the crosstab.
Adds the selected group object to be displayed in the rows of the crosstab.

Adds the selected aggregation object to be the summary field of the crosstab.
Columns/Rows

Lists the group objects that will be displayed on the columns/rows of the crosstab.
● Field
Lists the group objects that you selected to display in the crosstab.

● Label
Specifies the display names of the added group objects.

● Sort
Specifies how the selected group objects will be sorted.

Summaries

Lists the aggregation objects that will be the summary fields of the crosstab.
● Field
Lists the aggregation objects that you selected to display in the crosstab.

● Label
Specifies the display names of the summary fields.

Moves the selected view element one level up.

Moves the selected view element one level down.

Removes the selected view element.


OK
Applies the settings and closes the dialog.
Cancel
Cancels the settings and closes the dialog.
Help
Displays this help document.
Windows Media Properties dialog
The dialog appears when you right-click a Windows Media object and select Properties from the shortcut menu.
It helps you to specify the properties of the Windows Media object and contains the following tabs:
● General tab

● Controls tab

OK
Applies the settings and closes this dialog.
Cancel
Cancels the settings and closes this dialog.
Help
Displays this help document.

General tab
This tab shows some general information of the Windows Media.

Name
Specifies the display name of the Windows Media.
Alternate Text
Specifies the alternate text which will be shown if the Windows Media cannot be displayed.
Width
Specifies the width of the Windows Media.
Height
Specifies the height of the Windows Media.

Controls tab
This tab specifies the properties for the media file to control the options when playing the media file.

Auto Start
Specifies whether or not to start the media file automatically when the report is opened in JReport Studio.
Auto Rewind
Specifies whether or not to rewind the media file automatically.
Play Count
Specifies the number of times you want to play this media file.
Show Controls
Specifies whether or not to show the Windows Media Player controls.
Show Audio Controls
Specifies whether or not to show the Mute Button and the Volume Slider on the Control Bar.
Show Position Controls
Specifies whether or not to show the Fast Forward, Fast Rewind, Skip Ahead, Skip Previous, and Preview
buttons on the Control Bar.
Show Tracker
Specifies whether to show the Tracker Bar. It is only enabled when the Control Bar is visible.
Show Display
Specifies whether to show the Display Panel.
Show Caption
Specifies whether to show the Closed Captioning Displayed Panel.
Show Go To Bar
Specifies whether to show the Go To Bar.
Show Status Bar
Specifies whether to show the Status Bar.
Appendixes
This chapter presents additional information about JReport Server, including specific reference and
several lists of properties, alll of which will allow you to further understand JReport Server.
● Appendix 1: Properties in the server.properties file

● Appendix 2: Preference properties

● Appendix 3: System database properties in JReport server cluster

● Appendix 4: Mapping list of UI options and properties

● Appendix 5: Dynamic names

● Appendix 6: Language and region name list for National Language Support

● Appendix 7: Properties for scheduling report sets via URL

● Appendix 8: DHTML tag library


Appendix 1: Properties in the server.properties file
This appendix provides a list of properties in the server.properties file which is created in
<install_root>\bin when the first time JReport Server is started, and the detailed information about
these properties.

Property Name Default Value (Range) Description


CLUSTER
cluster.enable true/false Specifies whether or not to activate
the cluster feature on the server.
This property is available only when
the license key you use for your
JReport Server is cluster enabled,
and the default value of the property
varies as follows:
● If there already exists the server.
properties file in <install_root>
\bin but without the cluster.
enable property, after you use
the cluster enabled key to launch
your JReport Server, the property
will be added in server.properties
and its default value is true.

● If there is no server.properties
file in <install_root>\bin, after
you use the cluster enabled key
to launch your JReport Server,
the default value for cluster.
enable is false.

When the cluster feature is activated


on a clustered server, the server will
call the remote methods to
accomplish tasks, however by using
RMI, the server's performance and
reliability will be affected. Therefore,
when you want a clustered server to
work individually (not in a cluster
environment), you can turn off the
cluster feature on it by setting this
property to false.
cluster.member.id - Specifies the member ID for the
clustered server. Each clustered
server should have an unique
member ID. The value of this
property should be an integer no less
than 1.
cluster.name jreport-cluster Specifies the name of the cluster.
When the property cluster.enabled is
set to true, you must specify a
unique cluster name for the servers
that will join the cluster to build the
cluster.
ENGINE
engine.default_encoding - In JReport Engine, this property is
used by parameters and export
formats (HTML, PDF, RTF, XLS, and e-
mail). The property value is used to
encode the displaying value of
parameters and report data when
exporting to these formats.
engine.priority 2 Specifies the CPU utilization priority
(0 ~ 4) for the engine. The performance of
JReport Server is influenced by the
usage of the CPU that the JReport
engine can occupy. A larger share of
CPU usage will speed up
performance. To tune JReport Server
to the best performance, you can
modify this option to enable the
engine to share a larger part of CPU
usage when it is running.
engine.single_thread true Specifies that there should be only
one thread when the engine is
running.
engine.sort.buffer_size -1 Specifies the buffer size (MB) used in
the RAM for each report when sorting
on DHTML reports. The minimal size
required by JReport is 4 MB. The
default value -1 means that the
buffer size is controlled by the
system automatically.
FTPS
ftps.keymanager.algorithm - Specifies FTPS key manager
algorithm.
ftps.keystore.file - Specifies FTPS key store file.
ftps.keystore.password - Specifies FTPS key store password.
ftps.keystore.type - Specifies FTPS key store type.
ftps.trustmanager.algorithm - Specifies FTPS trust manager
algorithm.
ftps.truststore.file - Specifies FTPS trust store file.
ftps.truststore.password - Specifies FTPS trust store password.
ftps.truststore.type - Specifies FTPS trust store type.
HTTPSERVER
httpserver.admin.port 8889 A port used to configure and
(1 ~ 65535) administer the server remotely. This
port is where the servlet for remote
administration (jet.server.servlets.
RcServlet) listens.
httpserver.backlog 50 The maximum number of Client
sockets that can be queued when
waiting to be accepted by the JReport
Server socket.
httpserver.host.all true Specifies whether JReport Server
listens on all network addresses.
For Linux environment, even if
httpserver.host.all=true, at most one
IP address can be gotten because of
JDK's own reason. In order to listen
on more than one IP address on
Linux, you need set httpserver.host.
all=false, and then set the desired IP
addresses separated by a blank as
the value of httpserver.host.name,
for example:
httpserver.host.all=false
httpserver.host.name=IP1 IP2
IP3
httpserver.host.name * If httpserver.host.all=false, use this
property to specify IP addresses that
JReport Server listens on.
By default this property does not
appear in the server.properties file
and you need add it manually if you
want to use it.
httpserver.max.connections 1000 The maximum number of connections
(1 ~ 2147483647) that a standalone server can accept.
New requests sent to a standalone
server will be refused when the
amount of connections that the
server is processing exceeds this
number.
httpserver.max.handlers 50 The maximum number of user
(1 ~ 2147483647) handlers that JReport Server can
hold. JReport Server can respond to
requests from the client-side
simultaneously. The number of the
executed requests is in inverse
proportion to the speed of the
response. The more requests that are
executed, the slower the speed. To
improve the running speed, you can
set the maximum number of user
handlers to a comparatively small
number.
httpserver.name JREntServer/1.1 Specifies the HTTP Server name.
httpserver.port 8888 Specifies the TCP port on which
(1 ~ 65535) JReport Server listens when the
server is started. This port can be an
integer between 1 and 65535.
However, numbers less than 1024
are usually reserved by system, so
numbers larger than 1024 are
recommended.
httpserver.redirect.propfile <install_root>\bin\redirect.properties Specifies the path and file name of
the redirect property file.
httpserver.servlet.admin.propfile <install_root>\bin Specifies the path and file name of
\admin.properties the RcServlet property file.
httpserver.servlet.propfile <install_root>\bin Specifies the path and file name of
\servlet.properties the servlet property file. The core of
JReport Server is jet.server.servlets.
JRServlet, which implements the
interface of javax.servlet.http.
HttpServlet. You can install jet.server.
servlet.JRServlet to any web server
that supports servlets. This will turn
the web server into a JReport Server.
httpserver.shutdown.timeout 0 Specifies a shut-down time limit for
the HTTP Server, in seconds. When
the time exceeds the specified
duration when shutting down the
HTTP Server, it will be forced to
terminate. The HTTP Server will
never be forced to terminate if it is
set to 0.
httpserver.socket.timeout 0 Specifies Socket time line, in
seconds. The default value 0 means
infinite.
httpserver.ssl.admin.port 6889 The port used for visiting JReport
Administration page via HTTPS
schema. It should be different from
the Administration Port for HTTP
schema.
httpserver.ssl.algorithm sunx509 The X509 algorithm to use. This
defaults to the Sun implementation
(SunX509). For IBM JVMs you should
use IbmX509.
httpserver.ssl.enable false If true, you can use HTTPS schema
to visit JReport Server UI in the
standalone mode.
httpserver.ssl.keystore <install_root>\bin\keystore The location of the keystore file.
httpserver.ssl.keystore.password jinfonet The password used to protect the
integrity of the keystore.
httpserver.ssl.keystore.type JKS The type of keystore to be
instantiated. The valid values are JKS
and PKCS12.
httpserver.ssl.port 6888 The port used for visiting JReport
Console page via HTTPS schema. It
should be different from the Port for
HTTP schema.
httpserver.ssl.protocol SSL The encryption/decryption protocol to
be used on the socket. The valid
values are SSL and TLS.
httpserver.timeout 500 Specifies the maximum number of
(1 ~ 2147483647) milliseconds that a request from a
client-side can be blocked before
being refused by the server. If there
are still no connection handlers free
after the maximum number of
milliseconds has been reached, the
request will be refused back to the
client.
httpserver.use_old_forward_method false Specifies whether to use old
implementation for javax.servlet.
RequestDispatcher.forward() or use
new implementation.
JSP
jsp.webapp.sendfile /servlet/sendfile Specifies the sendfile servlet
mapping path.
LOG
log.config.filename <install_root>\bin\LogConfig.properties Specifies the location (full absolute-
path file name) of the logging
configuration file.
log.config.update false Specifies to enable auto-update of
logging configuration changes (by
manually modifying the configuration
file) at runtime. If set to true, any
changes to the logging configuration
file at runtime will automatically take
effect after the specified update
interval. Otherwise, any changes to
the configuration file will not take
effect until you restart JReport
Server.
log.config.update.interval 60000 Specifies the interval value (in
milliseconds) for when logging
configuration changes will be auto-
updated. This property will only
function after the log.config.update
property has been set to true.
MONITOR
monitor.cluster.refresh.interval 10000 Specifies the time interval (in
(1 ~ 9223372036854775807) milliseconds) for when the monitor
statistics of the clustered server are
updated.
monitor.interval 60 Specifies the time interval (in
(1 ~ 9223372036854775807) milliseconds) for the monitor thread.
monitor.maxminute.savereport 2 Specifies the maximum time limit (in
(1 ~ 2147483647) minutes) for a report set status to be
shown on the Finished tab.
monitor.maxnumber.savereport 20 Specifies the maximum number of
completed report sets that can be
kept in the cache.
monitor.number.savereport 2 Specifies the maximum completed
(1 ~ 2147483647) report set count that is to be shown
on the Finished tab.
monitor.overtime.running 30000 Specifies the time limit (in
(1 ~ 9223372036854775807) milliseconds) of over-time running
report sets. For example, a report set
will be marked as a large report set
when its running time exceeds the
time limit.
monitor.refresh.interval 10000 Specifies the time interval (in
(1 ~ 9223372036854775807) milliseconds) for when the monitor
statistics of the server are updated.
monitor.server.web.url http://localhost:8848/monitor/index.jsp Specifies JReport Server Monitor
URL, where the Monitor link on the
system toolbar of the JReport
Administration page (port 8889 by
default) links to.
PERFORMANCE
performance.cacheallimg true Specifies to cache all the images that
are used in reports.
performance.cachecat true Specifies to cache catalogs in the
memory. More Info
performance.cacheimg true Specifies to enable the image cache
function.
performance.cacherpt true Specifies to cache report sets in the
memory. More Info
performance.catpoolsize 10 Specifies the maximum number of
catalogs that can be cached by the
server. No further catalogs can be
cached if the number of cached
catalogs reaches this number.
performance.commit.interval 60 Specifies the time interval for when
JReport Server will commit the
changes in the Version list, Schedule
list or Completed list. More Info
performance.commit.thread false Specifies to commit every change in
the Version list, Schedule list or
Completed list. More Info
performance.compressio false Specifies whether or not to compress
the temporary data generated during
runtime before it is swapped to disk.
By compressing the swap files, the I/
O efforts in certain circumstance may
be considerably reduced so that the
overall performance will be
improved.
Note: Compressing swap files will
increase CPU usage because it uses a
compression algorithm to shrink
data. If your system already has high
CPU usage, enabling this option will
increase CPU usage, depending on
different circumstances, and such
impact may overcome the
performance gain that comes from
reducing I/O time.

performance.exe_gc false Specifies whether to control garbage


collection by JReport.
performance.html.pipeline false Specifies to enable the HTML pipeline
function. More Info
performance.imgpoolsize 10 Specifies the maximum size for
caching images, in MBs.
performance.loadfont false Specifies to pre-load fonts when
JReport Server starts.
performance.max.reports 0 Specifies the maximum number of
concurrent reports in the running
queue. This number must be less
than or equal to the number
permitted by the license. Additional
reports that are requested will be
queued until space in the running
queue is available. More Info
performance.preloadcatcls true Specifies to load catalog related Java
classes when JReport Server starts.
performance.preloadedcats - Specifies the catalogs to be loaded
when JReport Server starts.
performance.preloadedrpts - Specifies the report sets that are to
be loaded when JReport Server starts.
performance.preloadenginecls true Specifies to load engine related Java
classes when JReport Server starts.
performance.preloadrptcls true Specifies to load report sets related
Java classes when JReport Server
starts.
performance.rptpoolsize 10 Specifies the maximum number of
report sets that can be cached by the
server. No further report sets can be
cached if the number of cached
report sets reaches this number.
More Info
performance.showimgdetail true Specifies whether to display the
detailed status of the cached images.

QUEUE
queue.accelerated 10,9 Specifies the priority levels of the
waiting tasks that will be promoted
to accelerated tasks. Accelerated
tasks have higher priority than other
tasks and run in a separate
accelerated queue.
Set one or more priority levels
separated by comma as the property
value. The priority levels are from 1
to 10 in an ascending order with 10
having the highest priority and by
default priority 9 and 10 tasks would
be processed in the accelerated
queue, not the normal running
queue.
queue.accelerated.size 0 Specifies the maximum number of
accelerated tasks in the accelerated
queue.
queue.policy 0 Specifies the way of controlling
queue. The valid property values are
as follows:
● 0 - Run tasks according to the
time when they are started,
following the rule of "First in,
First out".

● 1 - Run tasks according to their


priority levels.

● 2 - Increase the priority level of


waiting tasks each time after a
specified period. You need to set
the property queue.policy.
waitingtime in the server.
properties file.

● 3 - Increase the priority level of


waiting tasks each time after the
specified number of tasks are
completed. You need to set the
property queue.policy.readjust in
the server.properties file.
queue.policy.readjust 4 You need to set this property when
queue.policy=3. The property
controls readjusting upward the
priority of waiting tasks each time
after the specified number of tasks
are completed. The property value is
measured by the completed tasks.
queue.policy.waitingtime 1200 You need to set this property when
queue.policy=2. The property
controls readjusting upward the
priority of waiting tasks each time
after a specified time period. The
property value is measured in
seconds.
RESOURCE
resource.default_public_catalog /SampleReports/SampleReports.cat Specifies the default public catalog
that will be shown automatically
when JReport Server is accessed
using a web browser.
resource.result.life 86400 Specifies the time length for the
temporary report set result files to be
kept after they have been generated.
By default it is 86400 seconds (24
hours). 300 is the minimum number.
If time is out, all the files in the temp
folder will be deleted except the files
which are being used. The clock
count returns to 0 and it counts
periodically.
resource.root %ReportHome%\jreports Specifies the report set root
directories of the report resources.
You should better set a different root
directory for the report resources on
each clustered server. This property
is created in the server.properties file
only when the server is started in a
JReport cluster environment.
resource.share.hist.dir %ReportHome%\history Specifies the history directories of
the report resources on the clustered
servers. You should better set a
different history folder to store the
parameter information and
versioning result files on each
clustered server. This property is
created in the server.properties file
only when the server is started in a
JReport cluster environment.
resource.share.properties.dir %ReportHome%\properties Specifies the properties directories of
the report resources on the clustered
servers.
This is a property which redirects the
<install_root>\properties folder in a
JReport Server cluster environment.
Each clustered server should use this
property to redirect the properties
folder to its own location.
This property is created in the server.
properties file only when the server is
started in a JReport cluster
environment.
resource.share.realm.dir %ReportHome%\realm Specifies the realm directories of the
report resources on the clustered
servers.
Each clustered server should use an
individual realm folder to store its
security information, such as ACLs,
groups, realms, and users. Realms
and users are organized into a folder
tree structure.
This property is created in the server.
properties file only when the server is
started in a JReport cluster
environment.
resource.share.temp.dir %ReportHome%\temp Specifies the temporary directories of
the report resources on the clustered
servers.
Each clustered server should use an
individual temp folder to store its
temporary files generated during its
working process, such as the result
files generated when you run a
report set. All the files in the temp
folder will be deleted when JReport
Server restarts.
This property is created in the server.
properties file only when the server is
started in a JReport cluster
environment.
resource.undefine.free true Specifies that any resource nodes not
bound with an ACL are accessible.
By default this property does not
appear in the server.properties file
and you need add it manually if you
want to use it.
SERVER
server.auto_recover_task.interval 30 Specifies the retry interval in seconds
when trying to recover a task.
server.auto_recover_task.max_times 0 Specifies the maximum retry times
when trying to recover a task.
server.auto_recover_task.recreate_all_results false Specifies whether to re-create all the
result files when recovering a task.
server.autocache.enabled false Specifies whether to enable to
automatically cache report data. For
more about cached report data, see
Managing cached report data. In
JReport cluster environment this
property will be saved in the server's
system database and is not created
in the server.properties file.
server.autocache.expired.time 0 Specifies the period an automatic
cached data result is kept. This
property takes effect when server.
autocache.enabled=true and
server.autocache.never.
expire=false. In JReport cluster
environment this property will be
saved in the server's system
database and is not created in the
server.properties file.
server.autocache.max.disk.usage 512 Specifies the maximum hard disk
space for automatic cached data. The
value should be between 4 MB and
1024*1024 MB. This property takes
effect when server.autocache.
enabled=true. In JReport cluster
environment this property will be
saved in the server's system
database and is not created in the
server.properties file.
server.autocache.never.expire true Specifies whether automatic cached
data never expires. This property
takes effect when server.
autocache.enabled=true. In
JReport cluster environment this
property will be saved in the server's
system database and is not created
in the server.properties file.
server.completed.max_count 3000 Specifies the maximum number of
(0 ~ 2147483647) completed records that will be kept
the Completed table. Set the value to
zero if you do not want to limit the
record count. In JReport cluster
environment this property will be
saved in the server's system
database and is not created in the
server.properties file.
server.completed.write_in_queue false Before a scheduled task finishes, it
will write a record into the completed
task table. If there are a number of
scheduled tasks running
concurrently, it is possible that many
tasks try to write records into the
completed task table at the same
time. It will become a bottleneck
because the operation is
synchronized, and it may block new
tasks. To avoid this case, set server.
completed.write_in_queue=true, all
operations of writing into the
completed task table will be
performed in a separate thread one
by one, and the scheduled tasks
need not wait for the operation
results to return.
By default this property does not
appear in the server.properties file
and you need add it manually if you
want to use it.
server.connection.keepalive true Specifies to keep the connection alive
after it has connected to JReport
Server. Setting this property to false
will disconnect the connection once it
has received the response. That is,
Internet Explorer will not hold the
connection open.
server.crd.memory.usage 4 Specifies the maximum memory
usage when running a report using
cached report data. The minimum
value is 4 MB and can be increased
up to 80% of the total Java
maximum heap size (-Xmx value in
JRServer.bat). All cached report data
being used to run reports will share
the same memory space.
For more about cached report data,
see Managing cached report data.

In JReport cluster environment this


property will be saved in the server's
system database and is not created
in the server.properties file.
server.dynamic.class.dir <install_root>\dynamicclasses Specifies a folder location on the
server machine to hold all the UDS
jar files, so that you can specify to
load the classes from that folder.
server.enable.cachedreportbursting true Specifies the mode when scheduling
a report with cached report bursting
to publish it to the HTML and DHTML
formats:
● true - The scheduled result
includes full data. Then when end
users view the result, they will be
displayed the data they are
privileged to see according to the
cached report bursting setting in
the report.

● false - The scheduled result only


contains the data that the user
who did the scheduling is allowed
to see.

For details, see Scheduling to HTML/


DHTML.
server.enableDynamicResource false Specifies whether to enable getting
server resources from their real
paths. However, when installing
JReport Server, if you choose Custom
Installation for Standalone Server
and with the Enable Resources from
Real Paths option checked, the
default value of this property will be
true.
server.enableMultipleLogin true Specifies that multiple sessions
created by one user, can exist
simultaneously.
If the value is true, a user can log
onto JReport Server repeatedly
without having to terminate any of
his/her former sessions until the
number of sessions reaches the
number permitted by the license. If
the value is false, only the newly
created session is active, and all the
other former sessions created by the
same user will be terminated by
JReport Server automatically.
server.font.path <install_root>\font Specifies a font location for server
resources.
By default this property does not
appear in the server.properties file
and you need add it manually if you
want to use it.
server.get_remote_host false Specifies that JReport Server will
automatically record and transmit the
IP address of a client who has
delivered a request to the engine.
server.http.output_encoding - Specifies the encoding of JReport
internal servlets. By default, jrservlet
uses the JVM's encoding.
server.http.param_values.delimiter semicolon (;)+ Specifies a delimiter to separate
values when a parameter of a report
set contains multiple values. Valid
delimiters include blank space
(&nbsp;), comma (,), semicolon (;),
quotes ("), colon (:), and braces
({}). By default, this property does
not appear in the server.properties
file. To use a delimiter that is
different from the default, add this
property to the server.properties file,
and then set a value to it.
server.invalidate_httpsession_when_logout true Specifies whether to invalidate the
session when the user logs out.
server.language en Specifies the language the server
uses.
server.mail.send_size 2000 Specifies the maximum size in KB of
the attachments in one e-mail sent
by the server.
server.ondemandlist.clearrecord_lagging_time 300 Specifies the lagging time in seconds
after when JReport Server clears up
the UID's Background Tasks list after
the last user who logged in with the
UID logs out.
server.ondemandlist.user_max_records 100 Specifies the maximum number of
records to display in the user's
Background Tasks list. The oldest
records will be removed when
records exceed the specified number.
When it is set to 0, unlimited records
will be allowed in the user's
Background Tasks list.
server.permission.algorithm 0 Specifies an algorithm for calculating
(0 and 1) a principle's permission. If the value
is set to 0, the permission
accumulation algorithm will be used.
If it is set to 1, the user permission
replacement algorithm will be used.
More Info
server.profiling.enable false Specifies whether to enable the
profiling system. If the profiling
system is enabled, JReport Server
will collect and store report running
information to the profiling database.
You can then view profiling report
from JReport Server Monitor.
server.realm.active defaultRealm Specifies the realm that takes effect
when the server starts up.
The specified realm should exist,
otherwise the server will use an
existing realm as active realm. The
server will then record a warning
message in the log file, and set the
selected active realm by this property
in the server.properties file.
In JReport cluster environment this
property will be saved in the server's
system database and is not created
in the server.properties file.
server.resource.cleanup_user_folder true Specifies whether to remove a user's
My Reports node (/
USERFOLDERPATH/UserID) from the
server resource tree when the user is
deleted from the security system.
server.resource.enable_linked_catalog false When the property is set to true, it
enables to pre-define a linked catalog
in the server level for the My Reports
and Public Reports folders to inherit.
If the property is set to false as
default, the My Reports and the
Public Reports folders cannot inherit
linked catalog.
server.restore.task false Specifies to re-run all interrupted
tasks upon restarting the server, in
the event of the server crashing.
server.rmi.auth_file - This property enables the server.
properties file to locate the rmi.auth
file by specifying a path of it, for
example, C:\JReport\Server\bin
\rmi.auth. By default, this property
does not appear in the server.
properties file. In order to enable the
server.properties file to locate the
rmi.auth file, add this property to the
server.properties file, and then
specify a directory as its value.
server.rmi.host localhost IP address Specifies the RMI IP address or host
name of the local server.
server.rmi.port 1129 Specifies the RMI port that the local
(1 ~ 65535) server uses.
server.rmiadminservice.enable false Specifies whether the JReport Server
can be administered from a remote
client via RMI APIs.
server.rmimonitor.enable true Specifies whether the JReport Server
is monitorable by a JReport Server
Monitor.
server.rmiserver.enable false Specifies whether to enable the
remote method invocation server.
server.rmiserver.fixed_port 0 Specifies a port for exporting server
remote objects. If the value is 0, an
anonymous port will be used.
When JReport Server resides behind
a firewall, the only way to pass
through the firewall in order to obtain
the remote objects from the client
side is to use an open port while the
remote method invocation server is
enabled. This property allows you to
specify a fixed port that you can
open in the firewall setting.
server.rolebased.authorization false Specifies whether to activate the role
based security in replace of the
default applied security of setting
permissions for users, groups and
roles. In the role based security,
permissions are defined on roles
only, and users and groups are
mapped to roles.
server.security true Specifies whether to enable security
checking on remote requests. When
it is set to false, responses will be
made without any security checking.
This does not apply to Remote
Configuration and Administration. In
JReport cluster environment this
property will be saved in the server's
system database and is not created
in the server.properties file.
server.security.group.cache.size 50 Specifies the number of group
objects that can be stored in the
security cache. The value should be
an int.
server.security.protection.cache.size 100 Specifies the number of ACL (Access
Control List) objects that can be
stored in the security cache. The
value should be an int.
server.security.role.cache.size 50 Specifies the number of role objects
that can be stored in the security
cache. The value should be an int.
server.security.user.cache.size 1000 Specifies the number of user objects
that can be stored in the security
cache. The value should be an int.
server.session.timeout 1800000 Specifies a timeout limit for when the
client cannot send requests to
JReport Server. The server will log
the client out after timeout. The
default session timeout is 1800000
seconds, which is 500 hours.
server.temp.max_file_per_folder 500 JReport Server will create sub folders
in the <install_root>\temp
directory to put temporary files which
are for holding bursting data only.
This property controls the maximum
number of temporary files in one
folder.
By default this property does not
appear in the server.properties file
and you need add it manually if you
want to use it.
server.ui.set_permission.group false Specifies whether to display group
permissions in the permission setting
UI for the server resource tree node
and Version Properties, and the
Scheduling to Version and Advanced
Run dialogs.
server.ui.set_permission.role true Specifies whether to display role
permissions in the permission setting
UI for the server resource tree node
and Version Properties, and the
Scheduling to Version and Advanced
Run dialogs.
server.ui.set_permission.user false Specifies whether to display user
permissions in the permission setting
UI for the server resource tree node
and Version Properties, and the
Scheduling to Version and Advanced
Run dialogs.
server.url.help /help/server/en/userguide/index.htm Specifies the help documentation
URL the Help button links to. This
button is located on the upper-right
corner of the JReport Console page
and JReport Administration page.
server.url.tutorial /help/tutorial/index.htm Specifies JReport Tutorial
documentation URL.
server.url.website http://www.jinfonet.com Specifies the website URL the
Jinfonet Home button links to. This
button is located on the upper-right
corner of the JReport Console page.
server.version.from.temp false Specifies to enable the "Publish to
Version System" option when
previewing a report set result. In
JReport cluster environment this
property will be saved in the server's
system database and is not created
in the server.properties file. More Info
server.version.max_amount_per_subfolder 3000 Specifies the maximum amount of
subfolders in each subfolder in the
history folder. More Info
server.version.retain.paramfile false Specifies to retain the parameter file
(if there is one) when an archive
version is removed from the version
table. If set to true, the parameter
file will be kept in the history folder.
server.version.show.paramcontents false Specifies to show the parameter
contents in the version table. If set
to true, a new column named
Parameter Contents will be added to
the version table.
server.version.subfolder_amount 100 Specifies the number of the server
history folders.
TASK
task.duration.check_cycle 30 Specifies task duration check
frequency in seconds. By default,
JReport Server checks task duration
every 30 seconds. Note that the
value must be an integer greater
than 0.
task.duration.enable false Specifies whether to enable setting a
time duration for a task and asking
JReport Server to cancel the task or
to notify you or someone else of the
task status via e-mail if the task has
not yet finished running when the
task duration is up.
If the value is set to true, the
Duration tab will be available in the
Advanced Run and Schedule dialogs.
task.initial.priority.ondemand 7 Specifies the default priority level for
the direct or advanced running tasks.
task.initial.priority.schedule 5 Specifies the default priority level for
the scheduled running tasks.
WEB
web.design_servlet_path /webreporting Specifies the web design servlet
mapping path.
web.dhtml_jsp_path /dhtmljsp Specifies the mapping path of the
DHTML JSP files.
web.dhtml_servlet_entry_path /jrdhtml Specifies the DHTML servlet mapping
path for loading report sets.
web.dhtml_servlet_path /dhtml Specifies the DHTML servlet mapping
path.
web.force_excel_download_dialog false If true, a File Download dialog will be
displayed asking to either open the
report set or save the report set
result file after activating a direct
running task or submitting an
advanced running task as the Excel
format.
If false, the report set is opened
directly.
web.force_pdf_download_dialog false If true, a File Download dialog will be
displayed asking to either open the
report set or save the report set
result file after activating a direct
running task or submitting an
advanced running task as the PDF
format.
If false, the report set is opened
directly.
web.force_ps_download_dialog false If true, a File Download dialog will be
displayed asking to either open the
report set or save the report set
result file after activating a direct
running task or submitting an
advanced running task as the
PostScript format.
If false, the report set is opened
directly.
web.force_rtf_download_dialog false If true, a File Download dialog will be
displayed asking to either open the
report set or save the report set
result file after activating a direct
running task or submitting an
advanced running task as the RTF
format.
If false, the report set is opened
directly.
web.force_text_download_dialog false If true, a File Download dialog will be
displayed asking to either open the
report set or save the report set
result file after activating a direct
running task or submitting an
advanced running task as the Text
format.
If false, the report set is opened
directly.
web.force_xml_download_dialog false If true, a File Download dialog will be
displayed asking to either open the
report set or save the report set
result file after activating a direct
running task or submitting an
advanced running task as the XML
format.
If false, the report set is opened
directly.
web.help_servlet_path /help Specifies the DHTML help servlet
mapping path.
web.ie.login.use_new_realm_name false Web browser remembers user name
and password automatically, which
allows you to log in without having to
input user name and password.
When this property is set to true,
JReport Server requires a new realm
name, then the user name and
password that web browser
remembers cannot log in.
web.jreport_servlet_path /jrserver Specifies the JReport servlet mapping
path.
web.monitor.link.enable true Specifies to enable and display the
Monitor link on the system toolbar of
the JReport Administration page. The
link is an entry to JReport Server
Monitor UI in JReport Server.
web.page.option.convert.encoding true Specifies whether to display the
Enable Converting Encoding option in
the Advanced Run and Schedule
dialogs.
web.page.option.db true Specifies whether to display the
report set's DB setting options in the
Advanced Run and Schedule dialogs.
web.page.option.encoding true Specifies whether to support
encoding in Advanced Run mode.
web.page.option.rootdir_of_folder_selector - Specifies a valid folder path in which
folders can be browsed through a JSP
folder selector when admin users
publish resources locally from a client
machine. If the value is null, the
whole file system can be browsed. In
the server publishing mechanism,
only admin users are able to publish
resources locally from a client
machine, and can browse the server
machine's file system by folder
selector.
web.page.option.show_catalog false Specifies to display catalogs on the
JReport Console page (port 8888 by
default).
web.page.option.show_name_with_postfix true Specifies to show the file name
extensions of the catalog and report
set files.
web.page.option.stylegroup true Specifies to display the Enable Style
Group option in the Advanced Run
and Schedule dialogs.
web.page.option.tasklistener true Specifies to support task listener.
web.page.option.to_applet true Specifies to support exporting to
"Applet" in Advanced Run mode.
web.page.option.to_dhtml true Specifies to support exporting to
"DHTML" in Advanced Run mode.
web.page.option.to_excel true Specifies to support exporting to
"Excel" in Advanced Run mode.
web.page.option.to_html true Specifies to support exporting to
"HTML" in Advanced Run mode.
web.page.option.to_pdf true Specifies to support exporting to
"PDF" in Advanced Run mode.
web.page.option.to_ps true Specifies to support exporting to
"PostScript" in Advanced Run mode.
web.page.option.to_rtf true Specifies to support exporting to
"Rich Text Format" in Advanced Run
mode.
web.page.option.to_text true Specifies to support exporting to
"Text" in Advanced Run mode.
web.page.option.to_xml true Specifies to support exporting to
"XML" in Advanced Run mode.
web.page.option.use_relative_app_url true Specifies whether the URLs contained
in the HTML contents returned by
JReport Server uses relative paths.
When the value of this property is set
to true, it will avoid problems caused
by you having a proxy server
between JReport Server and their
clients.
web.skin.dir /skin There is a folder named "skin" in
<install_root>\public_html. It
contains all files concerning DHTML
skin. In integration environment, this
folder is relative with context path,
for example, after deploying jreport.
war to an application server this
value will be changed to /jreport/skin
automatically.
web.timeouts.report_wait 170 Specifies the try-view time limit (in
seconds). Any running report set
(submitted using the Run or
Advanced Run command) will be
considered as a large report and put
into the Background Tasks list after
the time limit.
web.version.mark_unviewed true Specifies whether to mark the
unviewed version results in bold.

performance.cachecat and performance.cacherpt


The process for viewing report sets is a combination of both loading report sets from disk and
generating report set files. It is obvious that skipping either one of these two steps will shorten the
elapsed time. JReport Server enables you to cache report sets and catalogs in memory, so that you do
not have to load them from disk, thereby improving performance.

performance.commit.thread and performance.commit.interval


When the value of the performance.commit.thread property is false, JReport Server will commit every
change in the Version list, Schedule list and Completed list immediately. For example, upon deleting a
scheduled task in the Schedule list, JReport Server will commit the action and refresh the Schedule list.
If this value is set to True, JReport Server will only commit changes in the Version list, Schedule list or
Completed list in the specified interval. By doing this, you can avoid frequently overwriting any related
files in JReport Server, thereby improving performance.
The performance.commit.interval property takes effect only when the performance.commit.thread
property is set to True.

performance.max.reports
This property allows you to customize the maximum number of concurrent reports, including
background run reports and scheduled reports.
It is meaningful to set this property if your license permits a large number of concurrent reports and
you want a smaller maximum number of concurrent reports. Typically the JReport license allows an
unlimited number of concurrent reports which can cause too many reports to complete for system
resources at the same time.
The valid value range is between 0 and the maximum number of concurrent reports permitted by the
license. Setting the property to a suitable value in accordance with your computer's usage will lead to
marked improvement in performance. For example, if you have an unlimited license and you don't use
queue control, the running speed may be comparatively slow. To achieve better performance, you can
set performance.max.reports = 4, so that only four reports run at the same time, while the other
reports wait in the queue until one of the four has finished.
By default the property value is 0, which means that the maximum number of concurrent reports
depends on the license you have purchased. For example, if you have a 20-report license, it will be up
to 20 reports that can be running concurrently. Additional report requests will be placed into a waiting
queue.

performance.html.pipeline
To speed up report set delivery, JReport Server delivers a single page of content at a time. The JReport
Engine outputs the content of the result in an HTML file to the web browser as soon as a single page
has finished processing, while the rest of the report set continues to be processed.
Note: Data such as Total Page Number displayed in one page is temporary, and is called dirty data.
When data in a chart spans across one page, it is also displayed with dirty data. Dirty data is refreshed
when the JReport Engine finishes processing.

performance.rptpoolsize
Each cached report set uses some heap memory. If the heap memory is used up, an
OutOfMemoryException will be thrown.
Flag -ms/-Xms specifies the initial heap size and flag -mx/-Xmx specifies the maximum heap size. For
example, -ms10m -mx512m means that the initial heap size is 10M and the maximum heap size is
512M.
You can refer to Java Virtual Machine documentation for more information.

server.permission.algorithm
Specifies an algorithm for calculating a role, user or group's permission. Two algorithms are supported:
● The permission accumulation algorithm
The permission accumulation algorithm is applied if server.permission.algorithm=0.
In this algorithm, a principal's permission is the sum of permissions assigned by the administrator
and those inherited from its permission inherit tree. If the administrator did not set permissions or
set no permission for the principle, the principle's permissions will be those inherited from the
permission inherit tree.

● The user permission replacement algorithm


The user permission replacement algorithm is applied if server.permission.algorithm=1.
In this algorithm, if the administrator didn't set permissions for the principle, the principle's
permission will be those inherited from its permission inherit tree. However, if the administrator did
set permissions for the principle, the principle's permission will be those set by the administrator.

server.version.max_amount_per_subfolder
Specifies the maximum amount of subfolders in each subfolder in the history folder.
By default, JReport Server creates 100 folders in the history folder (<reporthome>\history), and each
of these folders can further contain 3000 subfolders (also set by this property). However, these
subfolders cannot hold any further subfolders.
First, JReport Server puts the history information, such as archive versions and parameter files, in
folder 1. When the amount of subfolders in folder 1 has reached the maximum subfolder amount, it
starts to put files in folder 2. When folder 2 is filled up, folder 3 will be used, then folder 4, folder 5,
and so on, until all 100 folders have all been filled up.
When all 100 folders have been filled up with subfolders, JReport Server will create another 100
folders, named 101 to 200, and continue storing the history information in these folders, starting with
folder 101. When the second 100 folders are full, another 100 folders will be created, then a fourth 100
folders, a fifth 100 folders, and so on.

server.version.from.temp
Specifies to enable the Publish to Versioning System option when previewing a report set.
This property functions the same as the Enable "Publish to Versioning System" for Background Tasks
View option in the Configuration > Advanced panel of the JReport Administration page.
If the value is set to true, a link Publish to Versioning System will be added to the upper-left corner of
the report set preview page (preview a report set result using the Run command). Click the link to
publish the result to version in the current format.
Appendix 2: Preference properties
This appendix provides a list of properties in the preference.properties and DHTMLpreference.properties
files, which are created in <install_root>\realm\defaultRealm once the JReport Server and DHTML
preferences are configured and saved in the Profile dialog on the JReport Administration page, and the
detailed information about these properties.

Properties in preference.properties
Default
Property Name Description
Value
active_catalog false Specifies whether to display the Catalog column on the My Tasks >
Running page.
active_engine_status false Specifies whether to display the Engine Status column on the My Tasks
> Running page.
active_launch_type false Specifies whether to display the Launch Type column on the My Tasks >
Running page.
active_parameters false Specifies whether to display the Parameter File column on the My Tasks
> Running page.
active_parameters_values true Specifies whether to display the Parameters column on the My Tasks >
Running page.
active_report true Specifies whether to display the Report Set column on the My Tasks >
Running page.
active_reports false Specifies whether to display the Reports column on the My Tasks >
Running page.
active_started_time true Specifies whether to display the Start Time column on the My Tasks >
Running page.
active_submitter false Specifies whether to display the Requester column on the My Tasks >
Running page.
active_task_id false Specifies whether to display the Task ID column on the My Tasks >
Running page.
active_task_name true Specifies whether to display the Schedule Name column on the My Tasks
> Running page.
active_task_type true Specifies whether to display the Task Type column on the My Tasks >
Running page.
background_format true Specifies whether to display the Result column on the My Tasks >
Background Tasks page.
background_status true Specifies whether to display the Status column on the My Tasks >
Background Tasks page.
cat_version_number true Specifies whether to display the Number column in the version table of a
catalog.
completed_catalog false Specifies whether to display the Catalog column on the My Tasks >
Completed page.
completed_completed_time true Specifies whether to display the Completed Time column on the My
Tasks > Completed page.
completed_engine_status false Specifies whether to display the Engine Status column on the My Tasks
> Completed page.
completed_error_message false Specifies whether to display the Error Message column on the My Tasks
> Completed page.
completed_is_successful true Specifies whether to display the Is Successful column on the My Tasks >
Completed page.
completed_launch_type false Specifies whether to display the Launch Type on the My Tasks >
Completed page.
completed_parameter_file false Specifies whether to display the Parameter File on the My Tasks >
Completed page.
completed_parameters false Specifies whether to display the Parameters on the My Tasks >
Completed page.
completed_report true Specifies whether to display the Report Set column on the My Tasks >
Completed page.
completed_reports false Specifies whether to display the Reports column on the My Tasks >
Completed page.
completed_result_files false Specifies whether to display the Result Files on the My Tasks >
Completed page.
completed_submitter false Specifies whether to display the Requester column on the My Tasks >
Completed page.
completed_task_id false Specifies whether to display the Task ID column on the My Tasks >
Completed page.
completed_task_name true Specifies whether to display the Schedule Name column on the My Tasks
> Completed page.
completed_task_type true Specifies whether to display the Task Type column on the My Tasks >
Completed page.
days_definition_for_completed 0 Specifies for how many days JReport Server will keep the completed
tasks in the Completed table. If the value is set to 0, the server will
keep the completed tasks until you delete them from the My Tasks >
Completed page.
default_view_format 8 Specifies the default format for viewing reports.
If the property Default Format for Viewing Report of a report has been
set to a specific format when the report is designed in JReport Designer,
the value in Designer has higher priority than the one here.
● 0 - Applet

● 1 - HTML

● 2 - PDF

● 3 - TEXT

● 4 - Excel

● 5 - PostScript

● 6 - Rich Text Format

● 7 - XML

● 8 - DHTML

doc_version_creator true Specifies whether to display the Creator column in the version table of a
result.
doc_version_number true Specifies whether to display the Version Number column in the version
table of a result.
doc_version_output true Specifies whether to display the Results column in the version table of a
result.
doc_version_parameters true Specifies whether to display the Parameters column in the version table
of a result.
enable_setting_display_language false Specifies whether to enable customizing the environment language for
JReport Server.
folder_selector_format 2 Specifies the type of the tool used for selecting folder paths from the file
system. This property is applied to local publishment only.
● 0 - JavaScript format

● 1 - VBScript format

● 2 - JSP format

is_forced_language false Specifies whether to reset all users' default language to the one
specified via locale_nls.
jrs.applet_type 3 Specifies the Java runtime environment to run applets.
● 2 - Java Plug-In 1.2 for Windows

● 3 - Java Plug-In 1.3 for Windows

jrs.best_editing_rtp false Specifies whether to apply flow layout in RTF format results.
jrs.compress_image_pdf 20 Specifies the percentage to compress images in the PDF format result by.
jrs.delimiter - Specifies the delimiter to separate fields in Text format results.
jrs.dhtml_resolution 96 Specifies the resolution of the DHTML result to zoom in/out, in DPI. The
default value is obtained from the operation system, which is the
resolution of your monitor, for example, 72 DPI on Unix or 96 on
Windows. You can set higher/lower value to zoom in/out.
jrs.drilldown false Specifies whether to generate HTML format report results with the
Drilldown feature enabled. The Drilldown feature enables you to inspect
certain items for further detailed data.
jrs.drilldown_pdf false Specifies whether to generate PDF format report results with the
Drilldown feature enabled. The Drilldown feature enables you to inspect
certain items for further detailed data.
jrs.embedded_css false Specifies whether to embed the cascading style sheet (CSS) in the
exported HTML files; otherwise, the .css file will be generated
individually. This property takes effect only when jrs.is_multi_files is set
to true, that is the report result is generated to multiple HTML files.
jrs. true Specifies whether to enable saving parameter values for reuse next time
enable_save_used_parameter_values when specifying parameter values in order to run reports.
jrs.enable_to_prefer_server true Specifies whether a task can be performed on a manually specified
clustered server when scheduling a report set or running a report set in
Advanced mode. Only available in clustered environments.
jrs.excel_advanced false Specifies whether to show additional settings for exporting to Excel.
When jrs.excel2000 is set to true, this property is of no use.
jrs.excel_layout true Specifies the layout of Excel format results.
● true - The original layout of the report set is adopted.

● false - If the Columned property of the report is set to true in


JReport Designer, the layout will be in columned format.

jrs.excel2000 false If this property is set to true, only the report data will be exported
without format in Excel format results.
jrs.format_chart 0 Specifies the image chart type. This property takes effect only when jrs.
is_applet_chart is set to false.

● 0 - Auto select

● 1 - GIF

● 2 - JPEG

● 3 - PNG

jrs.frameapplet true Specifies whether to show an Applet window when exporting to Applet.
jrs.has_hyperlink true Specifies whether to remove hyperlinks from the exported HTML format
results. This property takes effect only when jrs.is_multi_files is set to
false, that is the report result is generated to a single HTML file.
jrs.has_page_number true Specifies whether to remove page numbers from the exported HTML
format results. This property takes effect only when jrs.is_multi_files is
set to false, that is the report result is generated to a single HTML file.
jrs.has_pdf_permis_pasw false Specifies whether to use a permission password to restrict users from
printing and editing PDF format results.
jrs.has_shapes false Specifies whether to include drawing objects in exported Excel results,
such as line, oval, and box.
jrs.hasHeadFoot true Specifies whether to contain all headers and footers in Text format
results, including Report Header/Footer, Page Header/Footer and Group
Header/Footer. If false, the Text results will only contain data in Detail
panel.
jrs.html_resolution 96 Specifies the resolution of the HTML result to zoom in/out, in DPI. The
default value is obtained from the operation system, which is the
resolution of your monitor, for example, 72 DPI on Unix or 96 on
Windows. You can set higher/lower value to zoom in/out.
jrs.is_applet_chart true Specifies the way of displaying charts in the HTML format result:
● true - Uses a Java applet to display charts.

● false - Charts will be displayed as images.

jrs.is_multi_files false Specifies whether to generate report result to multiple HTML files.
● true - Generates the report result to multiple HTML files.

● false - Generates the report result to a single HTML file.

jrs.is_norm_txt true Specifies whether the results are in normal Text format:
● true - Normal Text format

● false - Delimited format

jrs.is_only_data false Specifies whether to include report data in XML format results.
jrs.is_quotemark true Specifies whether to use quote marks in Text format results. This
property takes effect only when jrs.is_norm_txt is set to false.
jrs.is_repeat false Specifies whether to use value of the previous cell in the same column
when a cell in Text format results has no value. This property takes
effect only when jrs.is_norm_txt is set to false.
jrs.is_text_delimiter jrs.is_csv Specifies the delimiter type to separate fields in Text format results. This
property takes effect only when jrs.is_norm_txt is set to false.

Values:
● jrs.is_csv - CSV format

● jrs.is_tab - Tab delimiter

● jrs.delimiter - User defined delimiter. You need to set the delimiter


via jrs.delimiter.

jrs.is_wordwrap 0 Specifies the way of dealing with word wrap in Excel format results.
● 0 - Keeps all the settings of each object's Word Wrap property
originally specified in the report.

● 1 - Disables the Word Wrap property for all objects. That is, the
Word Wrap property is made false for all objects.

● 2 - Enables the Word Wrap property for all objects. That is, the Word
Wrap property is made true for all objects.
jrs.no_margin_html false Specifies whether to remove margins from HTML format results.
jrs.no_margin_pdf false Specifies whether to remove margins from PDF format results.
jrs.no_margin_ps false Specifies whether to remove margins from PostScript format results.
jrs.no_margin_rtf false Specifies whether to remove margins from RTF format results.
jrs.password_pdf - Specifies the password to help prevent users from opening PDF format
results without authorization.
jrs.pdf_changallow 4 Specifies the editing actions that are permitted in PDF format results.
● 0 - None

● 1 - Inserting, deleting, and rotating pages

● 2 - Filling in form fields and signing

● 3 - Commenting filling in form fields, and signing

● 4 - Any except extracting pages

jrs.pdf_check_enableaccess true Specifies whether to allow visually impaired users to read PDF format
results with screen readers. This property is available only when jrs.
pdf_compatibitly=1.
jrs.pdf_check_enablecopy false Specifies whether to allow users to select and copy the contents of PDF
format results.
jrs.pdf_compatibitly 1 Specifies the encryption type to encrypt PDF format results.
● 0 - Acrobat 3.0 and later, which uses a low encryption level (40-bit
RC4).

● 1 - Acrobat 5.0 and later, which uses a high encryption level (128-
bit RC4).

jrs.pdf_contact_inf - Specifies your contact information for signing PDF format results.
jrs.pdf_digital_path - Specifies the digital ID file from a specified directory for PDF format
results.
jrs.pdf_document_reson None Specifies the reason for signing PDF format results. The value can be
one of the following:
● None

● I am the author of this document

● I have reviewed this document

● I am approving this document

● I attest to the accuracy and integrity of this document

● I agree to the terms defined by the placement of my signature on


this document

● I agree to 'specified' portions of this document

jrs.pdf_edit_yourself - Specifies your reason for signing PDF format results.


jrs.pdf_encrypt false Specifies whether to encrypt PDF format results.
jrs.pdf_location - Specifies your location for signing PDF format results.
jrs.pdf_permis_pasw - Specifies the password to help restrict users from printing and editing
PDF format results. You cannot use the same password as jrs.
password_pdf.
jrs.pdf_printallow 2 Specifies the printing quality for PDF format results.
● 0 - None

● 1 - Low Resolution (150 dpi)

● 2 - High Resolution

jrs.pdf_sign false Specifies whether to add digital sign to PDF format results.
jrs.pdf_sign_method -1 Specifies the digital signing method for PDF format results. The default
value -1 means that no value is set.
● 0 - Windows Certificate Security

● 1 - Default Certificate Security

● 2 - VeriSign Digital Signatures

jrs.pdf_user_pasw - Specifies the password for the digital ID file specified via jrs.
pdf_digital_path.
jrs.print_footer - Specifies the page footer text for Excel format results.
jrs.print_gridlines false Specifies whether to include gridlines in Excel format results.
jrs.print_header - Specifies the page header text for Excel format results.
jrs.print_mode_pdf false ● false - When you run a report in PDF format, JReport will take the
result of the whole report as a graphic to transform the report by the
method of simulated printer and generate the report result in PDF
format.

● true - When you run a report in PDF format, JReport will take the
result of the whole report as a dataset to transform the report by
sequence and to generate the report result in PDF format.

jrs.relative_font_size false Specifies whether to generate the HTML format report result using a
relative font size or an absolute font size.
● true - Using a relative font size. The font size can be adjusted
according to the font size settings in the web browser.

● false - Using an absolute font size, which means that the font size is
fixed, and cannot be adjusted according to the font size settings in
the web browser.

jrs.text_overflow 1 Specifies whether the text overflow is visible or hidden in HTML format
results.
● 0 - VISIBLE

● 1 - HIDDEN

jrs.toc_pdf false Specifies whether to generate the PDF format report result with a Table
of Contents.
jrs.txt_compress false Specifies whether to generate Text format results in a compressed size,
that is to say, there will be no clearance between the columns.
jrs.txt_windows true Specifies whether to use Windows end-of-line characters to indicate the
start of a new line in Text format results.
● true - Use Windows end-of-line characters. Two characters <cr> and
<lf> will be used at the end of a line.

● false - Use Unix End-of-line characters. Only the Unix End-of-line


character <lf> will be used.

jrs.udchar_height - Specifies the value for each unit of the vertical density between columns
in Text format results. The resulting density is a direct ratio of the value
you specify. That is, the greater the value, the smaller the height
between columns. By default the density will be specified by JReport.
jrs.udchar_width - Specifies the value for each unit of the horizontal density between
columns in Text format results. The resulting density is a direct ratio of
the value you specify. That is, the greater the value, the smaller the
width between columns. By default the density will be specified by
JReport.
jrs.use_html_table false Specifies whether the table and crosstab components will be output as
table objects in the HTML format result.
jrs.use_section508_compliant_page false Specifies whether to set the accessible version of JReport Server as the
default portal instead of JReport Console page. In the accessible version,
reports are displayed in the HTML format with accessibility attributes,
and table/crosstab components are output as HTML data table. With the
help of reader agent end users can navigate through the server resource
to view the target report. See Accessibility for more information.
jrs.use_section508_output false Specifies whether the accessibility attributes defined for report elements
via the Report Inspector will be exported to the HTML format report
result.
jrs.user_last_login_time true Specifies whether to display the last login time of a user on the top
banner of JReport Server. If true, the login time will be recorded in the
login.properties file in <install_root>\bin after JReport Server shuts
down.
jrs.user_last_logout_time false Specifies whether to display the last logout time of a user on the top
banner of JReport Server. If true, the logout time will be recorded in the
logout.properties file in <install_root>\bin after JReport Server shuts
down.
jrs.web_browser 0 Specifies the web browser for which the HTML result adapts.
● 0 - IE or Chrome

● 1 - Firefox

jrs.zip_applet_result false Specifies whether to compress Applet format results and make the size
smaller.
jrs.zip_result false Specifies whether to compress JReport Result format results and make
the size smaller.
locale_nls en_US Specifies the environment language for JReport Server. All UI text and
messages will be displayed in the specified language.
max_autocomplete_list_num 3 When specifying parameter values in order to run or schedule to run a
report, you can save the specified parameter values for the report as a
list. This property is used to control the maximum number of the saved
parameter value lists for the report.
ondemands_cancelled false Specifies whether to display the Cancelled column on the My Tasks >
Background Tasks page.
ondemands_catalog false Specifies whether to display the Catalog column on the My Tasks >
Background Tasks page.
ondemands_catalog_version false Specifies whether to display the Catalog Version Number column on the
My Tasks > Background Tasks page.
ondemands_parameter false Specifies whether to display the Parameters column on the My Tasks >
Background Tasks page.
ondemands_report_version false Specifies whether to display the Report Set Version Number column on
the My Tasks > Background Tasks page.
ondemands_started_time true Specifies whether to display the Start Time column on the My Tasks >
Background Tasks page.
ondemands_time true Specifies whether to display the Finish Time column on the My Tasks >
Background Tasks page.
ondemands_time_elapse false Specifies whether to display the Elapse Time column on the My Tasks >
Background Tasks page.
only_css_style true Specifies whether to display only the CSS styles in the style list.
page_style 1 Specifies the View Mode on the Reports page:
● 0 - Icons

● 1 - Details

● 2 - Thumbnails

parameters_display_size 100 Specifies the display length in characters of the parameters that are to
be applied to both the completed and active schedules.
popup_dhtml_window true Specifies whether to show a DHTML window when you view a report in
DHTML format.
reports_description true Specifies whether to display the Description column on the Reports
page.
reports_last_modified true Specifies whether to display the Last Modified column on the Reports
page.
reports_type true Specifies whether to display the Type column on the Reports page.
rpt_version_number true Specifies whether to display the Version Number column in the version
table of a report set.
scheduled_catalog false Specifies whether to display the Catalog column on the My Tasks >
Scheduled page.
scheduled_is_enable true Specifies whether to display the Is Enabled column on the My Tasks >
Scheduled page.
scheduled_is_successful false Specifies whether to display the Is Successful column on the My Tasks >
Scheduled page.
scheduled_last_run_at false Specifies whether to display the Last Run Time column on the My Tasks
> Scheduled page.
scheduled_launch_type false Specifies whether to display the Launch Type column on the My Tasks >
Scheduled page.
scheduled_next_run_at true Specifies whether to display the Next Run Time column on the My Tasks
> Scheduled page.
scheduled_report true Specifies whether to display the Report Set column on the My Tasks >
Scheduled page.
scheduled_reports false Specifies whether to display the Reports column on the My Tasks >
Scheduled page.
scheduled_submitter false Specifies whether to display the Requester column on the My Tasks >
Scheduled page.
scheduled_task_id false Specifies whether to display the Task ID column on the My Tasks >
Scheduled page.
scheduled_task_name true Specifies whether to display the Schedule Name column on the My Tasks
> Scheduled page.
scheduled_task_type true Specifies whether to display the Task Type column on the My Tasks >
Scheduled page.
skin_enable_loading_statue true Specifies whether to upload a local image to Server as the loading status
image appearing in waiting pages.
skin_enable_waitting_page true Specifies whether to show waiting pages and customize them.
skin_format standard Specifies the skin format applied to JReport Server and JReport Viewer
UI. The value can be standard, classical, or xp (xp means Windows XP).
skin_statue_align Bottom Specifies the relative position of the image as compared to tip text in
waiting pages. The value can be Top, Bottom, Left, or Right.
skin_style Default Specifies skin style of waiting pages. The value can be Default,
Customize, or Appointment.
skin_tip_font_family Tahoma Specifies font face of tip text in the waiting pages.
skin_tip_font_isblod true Specifies whether tip text font is bold in the waiting pages.
skin_tip_font_isitalic false Specifies whether tip text font is italic in the waiting pages.
skin_tip_font_isunderline false Specifies whether tip text font is underline in the waiting pages.
skin_tip_font_size 11 Specifies font size of tip text in the waiting pages.
skin_waitting_page waiting.jsp Specifies the JSP file name which will be used after the JSP file is
uploaded to server.
skin_waitting_statue loadingxp.gif Specifies an image file name which will be used after the image is
uploaded to server.
version_creator true Specifies whether to display the Creator column in the version table of a
report set.
version_number true Specifies whether to display the Version Number column in the version
table of a report set.
version_output true Specifies whether to display the Result column in the version table of a
report set.
version_parameters true Specifies whether to display the Parameters in the version table of a
report set.

Properties in DHTMLpreference.properties
Property Name Default Value Description
dhtml.advanceuser false Specifies whether to enable the DHTML advanced features, such as editing
group and report properties from the shortcut menu. In JReport Viewer, some
features are only available for advanced users, including the following:
● Advanced users can use a formula to control the value of a property. If a
Boolean type property in a report is set to be controlled by a formula, it
will be displayed as a checkbox, with mixed value. This means that this
option is currently controlled by a formula.

● Editing group and report properties (can be accessed by using the Group
and Report command on the shortcut menu).

● Modifying the properties of images, special fields, and parameters (can be


accessed by using the Properties command on the shortcut menu).

● Further options are available for advanced users, such as the options in
the Export and Other tabs.

dhtml.align_summaries false Specifies whether to make summaries aligned vertically, which are created
via the report wizard and have the same summary function.
dhtml.autorefresh false Specifies whether to enable the Auto Refresh feature, which automatically
refreshes the DHTML window at certain intervals, so as to make the server
session never time out when any JReport Viewer window is open. The auto
refresh time interval equals user session time out minus 16 seconds. When
the server session time out is set to be less than 32 seconds, the Auto
Refresh feature is disabled.
dhtml.background.mode. 900 Specifies the time allowed for a DHTML report set to run in foreground mode,
timeout in seconds. After the specifies time expires, the DHTML report set will
automatically be switched to run in background mode.
dhtml.background.mode. true Specifies whether to move DHTML report sets to run in background mode
timeout.edit automatically after certain time..
dhtml.bcfilter_prompt true Specifies whether to prompt the Query Filter dialog when inserting the first
field from the Resource View panel into a blank component.
dhtml.close.report.task. 180 When end user clicks the close button of the web browser to close a DHTML
timeout report set, the report set will not be closed immediately. This property
specifies the time (in seconds) after which the report set will be closed if end
user chooses this way to close a DHTML report set. It's recommended to set
the value to no less than 30 seconds.
dhtml. true Specifies whether to prompt the Convert Data Fields dialog when performing
convertquery_prompt data analytic actions on reports, which are created in JReport Designer, in
JReport Viewer.
dhtml.createreport_prompt true Specifies whether to prompt with a message box when JReport is going to
adjust the page size if the width of a table exceeds the defined page size.
dhtml.currentprofile - Specifies the profile which will be used as the default profile to run report sets
in DHTML.
dhtml.currentskin standard Specifies the skin of the DHTML user interface. JReport provides you with
three sets of skins: classical, standard, and xp. You can also create your own
skin and apply it to your DTHML user interface.
When creating skins, pay attention to the following:
● A skin must have a name and it is defined in the file skin.properties in
<intall_root>\public_html\skin.

● A skin includes two parts, style files and image files. The style files should
be saved in <intall_root>\public_html\style\dhtml\xxx (xxx is the
name of the skin), and the corresponding images in <intall_root>
\public_html\images\dhtml\xxx.

dhtml.customize_indent false Specifies whether to allow customizing the indent of groups created via the
report wizard. By default, when end users create groups in a report via the
report wizard in JReport Viewer, the groups will be indented according to the
width of the group fields.
dhtml. 0 Specifies the indent of the groups created via the report wizard, in inches.
customize_indent_size
dhtml.dso.default false Specifies whether to show the Resource View panel.
dhtml.grid_color #808080 Specifies the color of the grids.
dhtml.grid_inches_size 0.07 Specifies size of the grids, in inches.
dhtml.is.multi.thread.do. false Specifies whehter to use another thread to perform an action instead of the
action request thread.
dhtml.locktimeout 10800 Specifies the idle time before the DHTML window is locked, in seconds.
dhtml.locktimeout.edit true Specifies whether to make the DHTML window locked after certain time.
dhtml.master.default true Specifies whether to show the master report in the same window when
opening a detail report. If true, end users can go back to the master report
by clicking the master report name link. When it is set to false, the master
report will be closed after the detail report is opened.
dhtml.mwttp.default true Specifies whether to allow using the mouse wheel to scroll up/down reports.
dhtml.popup.default true Specifies whether to show a shortcut menu when you click the right mouse
button.
dhtml.popup.link.detail. false Specifies whether to display a new web browser window for the link target,
default which can be a link report, a detail report, a URL, a chart hyperlink, or the
detailed information created from the go-to-detail function. When defining
such links in JReport Designer, if you have specified Server Setting as the
target frame of the links, this property will decide where the corresponding
link targets will be displayed.
dhtml.privew.default false Specifies whether to show editing marks (dashed outlines for objects and
report body). If it is set to false, the editing mark will not be shown when a
report object receives focus, and report objects cannot be moved or resized.
dhtml.recordnumber. -1 Specifies the maximum number of records that will be retrieved by
default components in the report.
dhtml.report. true Specifies whether to show the Remove Filter item on the Filter submenu.
filter_menu_all
dhtml.report. true Specifies whether to show the Bottom N item on the Filter submenu.
filter_menu_bottomn
dhtml.report. true Specifies whether to show the More item on the Filter submenu.
filter_menu_more
dhtml.report. true Specifies whether to show the Top N item on the Filter submenu.
filter_menu_topn
dhtml.report.max_reports 60 Specifies the maximum number of DHTML reports that can be opened at the
same time.
dhtml.report.max_reports. false Specifies whether to limit the number of DHTML reports that can be opened
edit at the same time.
dhtml.report.on_demand true Specifies the way of running and laying out a report set as the DHTML format.
If the property is set to true, the required pages will be formatted. The total
number of pages will not be known and will show as a + sign. If it is set to
false, all report pages will be formatted. This shows the total number of pages
but will take longer to show the first page.
dhtml.report.pipe_line false Specifies the way of running and laying out a report set as the DHTML format.
If the property is set to true, data will be fetched for the required page and
then the page will be formatted. The contents of the displayed pages may be
incomplete for lack of data integrity and will then be refreshed when their
data is ready. The first page will be displayed more quickly. If it is set to
false, all data will be fetched before report pages are formatted. The
displayed pages are complete.
dhtml.report.timeout 10800 Specifies the time after which a DHTML report will release its memory
automatically if JReport Server has not received a request from the report, in
seconds.
dhtml.report.timeout.edit true Specifies whether to make a DHTML report release its memory automatically
if JReport Server has not received a request from the report for a period of
time.
dhtml.reportlayout blank Specifies the default report layout when creating a report in JReport Viewer.
Can be blank, table, crosstab, chart and section.
dhtml.reportset.timeout 10800 Specifies the time after which a DHTML report set will release its memory
automatically if JReport Server has not received a request from the report
set, in seconds.
dhtml.reportset.timeout. true Specifies whether to make a DHTML report set release its memory
edit automatically if JReport Server has not received a request from the report set
for a period of time.
dhtml.save. default Specifies the linked catalog model when saving report set into a new directory
catalog_linked_mode in DHTML.
● default - It means to link the saved report set with the catalog.

● copy - It means to copy the catalog to the target directory where the
report set is saved.

dhtml.save. true Specifies whether to enable setting the linked catalog model when saving
catalog_linked_mode_edit report into a new directory in DHTML.
dhtml.save.filter.criteria true Specifies whether to check the Save Filter Criteria option by default when
saving a report set to a report set version or as a new report set.
dhtml.save.popup.criteria true Specifies whether to pop up the save criteria dialog after performing some
filter/sort action on a report in JReport Viewer and closing the report.
dhtml.save.sort.criteria true Specifies whether to check the Save Sort Criteria option by default when
saving a report set to a report set version or as a new report set.
dthml.show_grids false Specifies whether to show grids in JReport Viewer report area.
dhtml.showSpalshScreen onlyFirstTime Specifies whether to show the splash screen, which is the JReport logo and
displays when a DHTML report set is opened
dhtml.snap_to_grids true Specifies whether or not to snap an object to grids when moving it by
dragging and dropping in JReport Viewer report area.
dhtml.stylegroup Commercial<CSS> Specifies the default selected style for the four types of components when
creating them via the report wizard in JReport Viewer: table, crosstab, chart,
and banded object.
The value can be any of the CSS style in the <install_root>\style directory.
dhtml.switch.reports.with. false Specifies whether to switch among reports in a report set using report tabs.
tab
dhtml.title Powered by JReport Specifies the title for the DHTML window (displayed on the DHTML window
title bar).
dhtml.toc.default false Specifies whether to show the TOC Browser.
dhtml.toc.groupbyname false Specifies whether to show the groups by name in the TOC panel.
dhtml.toolbar.default true Specifies whether to show a default toolbar in the DHTML window.
dhtml.toolbar.info Standard|View| Specifies the toolbars that will be displayed in the DHTML window. Use "|" to
Analysis| separate the toolbars. To create toolbars, go to the Options dialog.
dhtml.toolbar.items 16|17|18|19|20|22| Specifies the commands and the sequence of the commands that will be
0|7|8| displayed on the toolbars defined by dhtml.toolbar.info. Use "|" to separate
43|0|,0|11|13|0| the commands and "," to separate the toolbars. If you are not clear about the
25|24| toolbar commands, go to the Options dialog to set them.
9|1|0|,0|28|29|0|
23|0|,
dhtml.toolbox.default false Specifies whether to show the Toolbox panel.
dhtml.tooltips true Specifies whether to show the tool tips for toolbar commands.
dhtml.userbar.default false Specifies whether to show the User Information bar. This bar is on the top of
the JReport Viewer window which shows information about the user, catalog,
and report set.
dhtml. false Specifies whether to place the group headers in a table vertically when
vertical_group_header creating a new table or inserting new groups to a table in JReport Viewer.
This property is deprecated.
dhtml.zoom.default 100 Specifies the zoom ratio at which DHTML pages will be displayed.
Appendix 3: System database properties in JReport server cluster
This appendix provides a list of properties stored in the server's system database which is created when a JReport clustered
server is started, and the detailed information about these properties.

Property Name Default Value (Range) Description


CLUSTER
cluster.enable_notify_server_down false Specifies whether to notify somebody via e-mail when a server in the cluster is down.
The e-mail address is specified by the cluster.notify_server_down_address property.
cluster.notify_server_down_address - Specifies the e-mail addresses of the people to whom you want to send a notification
e-mail when a server in the cluster is down. This property takes effect only when the
cluster.enable_notify_server_down property holds a true value.
cluster.scheduler.lease.active_count 2 Specifies the active lease number in a cluster. The property value should be an
integer.
cluster.scheduler.lease.check_interval 30 Specifies the time interval the cluster will use to check the number of active leases.
The property value should be an integer in seconds.

cluster.scheduler.lease.enabled false Specifies whether to enable lease for a distributed scheduler in the cluster. If a
distributed scheduler is enabled with lease, it becomes an active scheduler and will
compete to trigger the schedule.
cluster.scheduler.lease.valid_time 300 Specifies the period of time that the clustered server can hold a lease before releasing
it. The property value should be an integer in seconds.

cluster.storage.crd_result.copy_number 2 Specifies how many copies will be made in a cluster when a new file or folder is added
to the cached report data (CRD) result folder. The property value should be an integer.
cluster.storage.history.copy_number 2 Specifies how many copies will be made in a cluster when a new file or folder is added
to the history folder. The property value should be an integer.

cluster.storage.realm.copy_number 2 Specifies how many copies will be made in a cluster when a new file or folder is added
to the realm folder. The property value should be an integer.
LOADBALANCE
loadbalance.type 1 Specifies the load-balance type.
(0 ~ 3)
● 0 - Uses Least Current Report Sets Algorithm to allocate tasks.

● 1 - Uses Round Robin Algorithm to allocate tasks.

● 2 - Uses Least Weighted Current Report Sets Algorithm to allocate tasks.

● 3 - >Randomly allocates tasks.

See Built-in load balancing algorithm for details about the four load balancing types.
loadbalance.custom_class - Specifies the class name of user's load balancer.
SERVER
server.autocache.enabled false Specifies whether to enable to automatically cache report data. For more about
cached report data, see Managing cached report data.
server.autocache.expired.time 0 Specifies the period an automatic cached data result is kept. This property takes
effect when server.autocache.enabled=true and server.autocache.never.
expire=false.
server.autocache.max.disk.usage 512 Specifies the maximum hard disk space for automatic cached data. The value should
be between 4 MB and 1024*1024 MB. This property takes effect when server.
autocache.enabled=true.
server.autocache.never.expire true Specifies whether automatic cached data never expires. This property takes effect
when server.autocache.enabled=true.
server.completed.max_count 3000 Specifies the maximum number of completed records that will be kept the Completed
(0 ~ 2147483647) table. Set the value to zero if you do not want to limit the record count.
server.crd.memory.usage 4 Specifies the maximum memory usage when running a report using cached report
data. The minimum value is 4 MB and can be increased up to 80% of the total Java
maximum heap size (-Xmx value in JRServer.bat). All cached report data being used
to run reports will share the same memory space.
For more about cached report data, see Managing cached report data.
server.realm.active defaultRealm Specifies the realm that takes effect when the server starts up.
The specified realm should exist, otherwise the server will use an existing realm as
active realm. The server will then record a warning message in the log file, and set
the selected active realm by this property in the server.properties file.
server.security true Specifies whether to enable security checking on remote requests. When it is set to
false, responses will be made without any security checking. This does not apply to
Remote Configuration and Administration.
server.version.from.temp false Specifies to enable the "Publish to Version System" option when previewing a report
set result.
This property functions the same as the Enable "Publish to Versioning System" for
Background Tasks View option in the Configuration > Advanced panel of the JReport
Administration page.
If the value is set to true, a link Publish to Versioning System will be added to the
upper-left corner of the report set preview page (preview a report set result using the
Run command). Click the link to publish the result to version in the current format.

Properties in the following configuration files are also stored in the server's system database when a JReport clustered server
is started:

File Name Description Mapped Server UI


mailconfig.properties Configuration for sending e-mails JReport Administration page > Configuration >
Export > E-mail
clusterWeight.properties Configuration for performance weight in a JReport Administration page > Cluster > Weight
cluster
LDAPProperties.xml Configuration for LDAP support JReport Administration page > Configuration >
LDAP > Server

Setting properties by using API


In JReport cluster environment, except for cluster.enable_notify_server_down, cluster.notify_server_down_address,
loadbalance.custom_class, loadbalance.type, and server.completed.max_count, all properties stored in the server's system
database can be set on the JReport Administration UI.
The following demo API code shows you how to set these properties:
import jet.server.api.admin.ClusterAdminService;
import jet.server.api.admin.cfg.ConfigurationAdvanced;
import jet.server.api.cluster.LoadBalancer;
import jet.server.api.cluster.Member;
import jet.server.api.http.HttpRptServer;
import jet.server.api.http.HttpUtil;

public class APIDemo {

public static void main(String[] args)


{

// Set report home "d:\\newJREntServer"


System.getProperties().put("reporthome", "D:\\newjrentserver\\");

// Creates instance of RptServer


HttpUtil.initEnv(System.getProperties());
HttpRptServer httpRptServer = HttpUtil.getHttpRptServer();
System.out.println(" ========httpRptServer= " + httpRptServer);

ConfigurationAdvanced configAdvanced = httpRptServer.getAdminService().


getConfigService().getConfigurationAdvanced();
//get current max completed record count;
int compledRecordCount = configAdvanced.getMaxCompletedRecordCount();
//set max completed record count;
configAdvanced.setMaxCompletedRecordCount(50);

ClusterAdminService adminService = httpRptServer.getAdminService().


getClusterAdminService();
//load balance type
System.out.println("load balance type" + adminService.getLoadBalanceType());
//1: min-load, 2: round robin, 3:weight min-load, 4:random
adminService.setLoadBalanceType(3);
//load balance class
System.out.println("load balance class" + adminService.getLoadBalanceCustomClass
());
//set load balance, there need exist APILocalBalancer implements interface
LoadBalancer;
adminService.setLoadBalanceCustomClass("APILocalBalancer");
//notify server down email
System.out.println("notfiy server down email" + adminService.
getNotifyServerDownAddress());
adminService.setNotifyServerDownAddress("[email protected]");
}
}
Appendix 4: Mapping list of UI options and properties
This appendix provides a list of JReport Server UI options and their corresponding properties of the
same functionality in the property files.
Most of these listed UI options are the administrative configuration options which can be accessed on
the JReport Administration page by administrators. A few of them are available on the JReport Console
page to end users too.

Property in server.properties in <install_root>


UI Option
\bin
JReport Administration page > Configuration > Service
Port httpserver.port
Administration Port httpserver.admin.port
Maximum Number of Handlers httpserver.max.handlers
Maximum Number of Connections httpserver.max.connections
Connection Timeout in httpserver.timeout
Enable Secure Socket Layer Connection httpserver.ssl.enable
Secure Port httpserver.ssl.port
Secure Administration Port httpserver.ssl.admin.port
Keystore File Path httpserver.ssl.keystore
Keystore Password httpserver.ssl.keystore.password
Keystore Type httpserver.ssl.keystore.type
Keystore Protocol httpserver.ssl.protocol
Keystore Algorithm httpserver.ssl.algorithm
Servlet Properties File Name httpserver.servlet.propfile
Active Realm server.realm.active
All Network Addresses httpserver.host.all
Network Address At httpserver.host.name
JReport Administration page > Configuration > Cache > Report Cache
Cache Loaded Catalogs performance.cachecat
Maximum Number of Catalogs to be Cached performance.catpoolsize
Cache Loaded Report Sets performance.cacherpt
Maximum Number of Report Sets to be Cached performance.rptpoolsize
Report Buffer Size for Sort Action engine.sort.buffer_size
JReport Administration page > Configuration > Cache > Security Cache
User Cache Size server.security.user.cache.size
Role Cache Size server.security.role.cache.size
Group Cache Size server.security.group.cache.size
Protection Cache Size server.security.protection.cache.size
JReport Administration page > Configuration > Cache > Image Cache
Cache Images performance.cacheimg
All used images performance.cacheallimg
Maximum Image Cache Size performance.imgpoolsize
Show Details performance.showimgdetail
JReport Administration page > Configuration > Performance
Catalogs to Be Preloaded performance.preloadedcats
Preload Catalog Referred Classes performance.preloadcatcls
Preload Engine Referred Classes performance.preloadenginecls
Preload Report Set Referred Classes performance.preloadrptcls
Report Sets to Be Preloaded performance.preloadedrpts
Preload Fonts performance.loadfont
Compress Swap Files performance.compressio
JReport Administration page > Configuration > Advanced
No Security Check server.security
Enable "Publish to Versioning System" for server.version.from.temp
Background Tasks View
Keep Connection Alive server.connection.keepalive
Enable Multiple Users to Login Using the server.enableMultipleLogin
Same User Name
Enable Resources from Real Paths server.enableDynamicResource
Enable Task Duration task.duration.enable
Enable Linked Catalog server.resource.enable_linked_catalog
Role Based Authorization server.rolebased.authorization
Permission Setting UI Displays > User server.ui.set_permissions.user
Permission Setting UI Displays > Role server.ui.set_permissions.role
Permission Setting UI Displays > Group server.ui.set_permissions.group
Permission Algorithm server.permission.algorithm
User Session Timeout server.session.timeout
Time Limit before Moving to Background web.timeouts.report_wait
Status Refresh Interval task.duration.check_cycle
Temporary Files Life resource.result.life
Engine Priority engine.priority
JReport Administration page > Cluster > Configuration
Cluster Name cluster.name
Properties Directory resource.share.properties.dir
Realm Directory resource.share.realm.dir
Resource Root resource.root
History Directory resource.share.hist.dir
Temporary Files Directory resource.share.temp.dir
Server's RMI Host server.rmi.host
Server's RMI Port server.rmi.port
Enable Cluster cluster.enable
JReport Administration page > Cached Data > Cached Report Data > Cache Configuration
Maximum Memory Usage server.crd.memory.usage
Automatic Cache server.autocache.enabled
Maximum Disk Usage server.autocache.max.disk.usage
Expires > Never server.autocache.never.expire
Expires > Custom server.autocache.expired.time
JReport Console page > Reports > Advanced Run > General
Priority task.initial.priority.ondemand
JReport Console page > Reports > Schedule > General
Priority task.initial.priority.schedule

UI Option Property in mailconfig.properties in <install_root>\bin


JReport Administration page > Configuration > Export > E-mail
SMTP Server smtp.server
Server Requires Authentication smtp.authentication
SMTP Server Port smtp.server.port
E-mail Address mailbox
Default E-mail Format default.format
Compress Attachment as Java compress.mail
Archive
Maximum Split PDF File Size Tag_MaxMailSize
Maximum Split PDF File Page Tag_MaxMailPage

UI Option Property in faxconfig.properties in <install_root>\bin


JReport Administration page > Configuration > Export > Fax
Fax Machine/Fax Server via_fax_server
Timeout time_out
Retries max_retries
Dialing dialing
Modem Class modem_class
Flow Control flow_control
Flow Control Command flow_command
Port port
Initialization String init_string
Fax Gateway Connector connector
Server IP server_ip
Server Port server_port
Login ID user_id
Password password
Fax Sender user_name
Special Parameters special_parameters

Property in preference.properties in <install_root>


UI Option
\realm\defaultRealm
JReport Administration/Console page > Profile > Customize Server Preferences
General
Default Format for Viewing Report default_view_format
Pop-up DHTML Window popup_dhtml_window
Only CSS style can be available in style list only_css_style
Display the Last Login Time jrs.user_last_login_time
Display the Last Logout Time jrs.user_last_logout_time
Keep Completed Tasks for days_definition_for_completed
Parameter Display Size parameters_display_size
Folder Selector Type folder_selector_format
Skin Format skin_format
Columns Shown in Reports List
Type reports_type
Description reports_description
Last Modified reports_last_modified
Task ID scheduled_task_id
Schedule Name scheduled_task_name
Next Run Time scheduled_next_run_at
Last Run Time scheduled_last_run_at
Is Successful scheduled_is_successful
Catalog scheduled_catalog
Report Set scheduled_report
Reports scheduled_reports
Launch Type scheduled_launch_type
Task Type scheduled_task_type
Requester scheduled_submitter
Is Enabled scheduled_is_enable
Columns Shown in Running List
Task ID active_task_id
Schedule Name active_task_name
Start Time active_started_time
Catalog active_catalog
Report Set active_report
Reports active_reports
Launch Type active_launch_type
Task Type active_task_type
Requester active_submitter
Parameter File active_parameters
Parameters active_parameters_values
Engine Status active_engine_status
Columns Shown in Completed List
Task ID completed_task_id
Schedule Name completed_task_name
Completed Time completed_completed_time
Is Successful completed_is_successful
Catalog completed_catalog
Report Set completed_report
Reports completed_reports
Launch Type completed_launch_type
Task Type completed_task_type
Requester completed_submitter
Parameter File completed_parameter_file
Parameters completed_parameters
Engine Status completed_engine_status
Error Message completed_error_message
Result Files completed_result_files
Columns Shown in Background Tasks List
Catalog ondemands_catalog
Finish Time ondemands_time
Elapse Time ondemands_time_elapse
Start Time ondemands_started_time
Catalog Version Number ondemands_catalog_version
Report Set Version Number ondemands_report_version
Parameters ondemands_parameter
Columns Shown in Report Set Result Versions List
Number version_number
Report Set Results version_output
Parameters version_parameters
Creator version_creator
Number rpt_version_number
Columns Shown in Catalog Versions List
Number cat_version_number
Columns Shown in Result Versions List
Number doc_version_number
Results doc_version_output
Parameters doc_version_parameters
Creator doc_version_creator
Export Formats
JReport Result
Zip Result jrs.zip_result
DHTML
Resolution jrs.dhtml_resolution
HTML
No Margin jrs.no_margin_html
Multiple Files jrs.is_multi_files=true
Embedded CSS jrs.embedded_css
Single File jrs.is_multi_files=false
No Hyperlink jrs.has_hyperlink
No Page Number jrs.has_page_number
Drilldown jrs.drilldown
Section 508 Compliant Output jrs.use_section508_output
Use HTML Data Table jrs.use_html_table
Absolute Font Size jrs.relative_font_size=false
Relative Font Size jrs.relative_font_size=true
Use Chart > Applet Chart jrs.is_applet_chart=true
Use Chart > Image Chart jrs.is_applet_chart=false
Use Chart > Image Chart drop-down list jrs.format_chart
Resolution jrs.html_resolution
Web Browser jrs.web_browser
Text Overflow jrs.text_overflow
PDF
No Margin jrs.no_margin_pdf
Compress Image jrs.compress_image_pdf
Generate charts and barcodes using images jrs.print_mode_pdf=false
(recommended)
Generate charts and barcodes using vector jrs.print_mode_pdf=true
graphics
TOC jrs.toc_pdf
Drilldown jrs.drilldown_pdf
Encrypt jrs.pdf_encrypt
Encrypt > Compatibility jrs.pdf_compatibitly
Encrypt > Document Open Password jrs.password_pdf
Encrypt > Use a password to restrict jrs.has_pdf_permis_pasw
printing and editing of the document and its
security settings
Encrypt > Permissions Password jrs.pdf_permis_pasw
Encrypt > Printing Allowed jrs.pdf_printallow
Encrypt > Changes Allowed jrs.pdf_changallow
Encrypt > Enable copying of text, images jrs.pdf_check_enablecopy
and other content
Encrypt > Enable text access for screen jrs.pdf_check_enableaccess
reader devices for the visually impaired
Sign jrs.pdf_sign
Sign > Method jrs.pdf_sign_method
Sign > Digital ID File jrs.pdf_digital_path
Sign > User Password jrs.pdf_user_pasw
Sign > Reason for Signing Document jrs.pdf_document_reson
Sign > Or Other Reason jrs.pdf_edit_yourself
Sign > Location jrs.pdf_location
Sign > Your Contact Information jrs.pdf_contact_inf
Excel
Word Wrap jrs.is_wordwrap
Preserve Report Formatting jrs.excel_layout=true
Normal Formatting jrs.excel_layout=false
Excel 2000 jrs.excel2000
More Options jrs.excel_advanced=true
Less Options jrs.excel_advanced=false
Include Shapes in Export jrs.has_shapes
Print Page Header jrs.print_header
Print Page Footer jrs.print_footer
Print Gridlines jrs.print_gridlines
Text
Delimited Format jrs.is_norm_txt=false
Delimited Format > Use Quote Mark jrs.is_quotemark
Delimited Format > Repeat Last Column jrs.is_repeat
Value If Null
Delimited Format > Custom Delimiter jrs.is_text_delimiter=jrs.delimiter & jrs.delimiter=
Delimited Format > Tab Delimited jrs.is_text_delimiter=jrs.is_tab
Delimited Format > CSV Format jrs.is_text_delimiter=jrs.is_csv
Horizontal Density jrs.udchar_width
Vertical Density jrs.udchar_height
Compress jrs.txt_compress
Header and Footer jrs.hasHeadFoot
Windows End-of-line (CR-LF) jrs.txt_windows=true
Unix End-of-line (LF) jrs.txt_windows=false
RTF
Best Editing jrs.best_editing_rtp
No Margin jrs.no_margin_rtf
XML
Only Data jrs.is_only_data
PostScript
No Margin jrs.no_margin_ps
Applet
Pop-up Window jrs.frameapplet
Zip Result jrs.zip_applet_result
Java Plug-In 1.2 for Windows jrs.applet_type=2
Java Plug-In 1.3 for Windows jrs.applet_type=3
Advanced
Enable Waiting Page skin_enable_waitting_page
Specify Default Language enable_setting_display_language
Specify Default Language > Language locale_nls
Specify Default Language > Reset All Users' is_forced_language
Preference
Identify Server Preference jrs.enable_to_prefer_server
Use Accessible Version jrs.use_section508_compliant_page
Enable Saving Parameter Values jrs.enable_save_used_parameter_values
Maximum Number of Auto Complete max_autocomplete_list_num
Parameters List
Enable Waiting Page > Customize
Default Format skin_style=Default
Customize Format skin_style=Customize
Customize Format > Enable Customize skin_enable_loading_statue
Loading Status Image
Customize Format > Server-side File Name skin_waitting_statue
Customize Format > Alignment to skin_statue_align
Customize Format > Tip Text Font skin_tip_font_family
Customize Format > Size skin_tip_font_size
Customize Format > Bold skin_tip_font_isblod
Customize Format > Italic skin_tip_font_isitalic
Customize Format > Underline skin_tip_font_isunderline
Specify a JSP as Waiting Page skin_style=Appointment
Specify a JSP as Waiting Page > File Name skin_waitting_page
Reports page
View Mode page_style
My Tasks > Background Tasks > Preferences
Result background_format
Start Time ondemands_started_time
Finish Time ondemands_time
Status background_status
Catalog ondemands_catalog
Elapse Time ondemands_time_elapse
Catalog Version Number ondemands_catalog_version
Report Set Version Number ondemands_report_version
Parameters ondemands_parameter
Cancelled ondemands_cancelled

Property in dhtmlPreference.properties in
UI Option
<install_root>\realm\defaultRealm
JReport Administration/Console page > Profile > Configure DHTML Profile
Features
Default Profile dhtml.currentprofile
Properties > Default
User Information Bar dhtml.userbar.default
Toolbar dhtml.toolbar.default
Table of Contents dhtml.toc.default
Resource View dhtml.dso.default
Toolbox dhtml.toolbox.default
Right-click Menu dhtml.popup.default
Pop Up New Window for Links dhtml.popup.link.detail.default
Editing Marks dhtml.privew.default
Pop Up Save Criteria Dialog dhtml.save.popup.criteria
Save Filter Criteria dhtml.save.filter.criteria
Save Sort Criteria dhtml.save.sort.criteria
Switch Reports with Tab dhtml.switch.reports.with.tab
Show Master Report dhtml.master.default
Tool Tips on Toolbars dhtml.tooltips
Always Prompt Query Filter dhtml.bcfilter_prompt
Always Prompt to Convert Data Fields dhtml.convertquery_prompt
Mouse Wheel Turn to Page dhtml.mwttp.default
Always Prompt Whether to Adjust Page Size dhtml.createreport_prompt
Automatically
Zoom dhtml.zoom.default
Max Records dhtml.recordnumber.default
Browser Page Title dhtml.title
Remove Filter dhtml.report.filter_menu_all
Top N dhtml.report.filter_menu_topn
Bottom N dhtml.report.filter_menu_bottomn
More dhtml.report.filter_menu_more
Show Grids dthml.show_grids
Snap to Grids dhtml.snap_to_grids
Grid Size dhtml.grid_inches_size
Grid Color dhtml.grid_color
Report Layout dhtml.reportlayout
Report Style Group dhtml.stylegroup
Customize Group Indent dhtml.customize_indent & dhtml.customize_indent_size
Align Summaries Vertically dhtml.align_summaries
Properties > Advanced
Advanced User dhtml.advanceuser
Auto Refresh dhtml.autorefresh
Show Group by Name dhtml.toc.groupbyname
View Incomplete Pages dhtml.report.pipe_line
Format Page On Demand dhtml.report.on_demand
Lock Screen Timeout dhtml.locktimeout.edit & dhtml.locktimeout
Report Timeout dhtml.report.timeout.edit & dhtml.report.timeout
Report Set Timeout dhtml.reportset.timeout.edit & dhtml.reportset.timeout
Background Mode Timeout dhtml.background.mode.timeout.edit & dhtml.
background.mode.timeout
Maximum Number of Open Reports dhtml.report.max_reports.edit & dhtml.report.
max_reports
Select Catalog Linked Model dhtml.save.catalog_linked_mode_edit & dhtml.save.
catalog_linked_mode
Show Splash Screen dhtml.showSpalshScreen

Property in *_profile.properties in <install_root>\realm


UI Option
\defaultRealm
JReport Administration page > Profile > Configure DHTML Profile > Features
Profile list
Name jrs.profile
Description jrs.profile_desc
Last Modified jrs.profile_last_modified
DHTML Profile > Basic
Save dhtml.save
Save as dhtml.saveas
Filter dhtml.filter
Sort dhtml.sort
Export dhtml.saveresult
Printable Version dhtml.print
Search dhtml.search
Style dhtml.style
Zoom dhtml.zoom
Change Skin dhtml.skin
Go to dhtml.goto
Open dhtml.open
Refresh dhtml.refresh
Reset dhtml.reset
Undo/Redo dhtml.unredo
Navigation dhtml.nav
Page Setup dhtml.pagesetup
Max Records dhtml.recordnumber
Help dhtml.help
DHTML Profile > Advanced
Query Filter dhtml.bcfilter
To Chart dhtml.tochart
To Crosstab dhtml.tocrosstab
Rotate dhtml.rotatecrosstab
Split dhtml.split
Merge dhtml.merge
New dhtml.create
Editing Marks dhtml.preview
Chart Type dhtml.charttype
Insert/Remove dhtml.insert_or_remove
Grid dhtml.grid
Pivot dhtml.pivot
Resize dhtml.resize
Move dhtml.move
Resource View dhtml.dso
Toolbox dhtml.toolbox
Drill dhtml.drill
DHTML Profile > Function Visibility
User Information Bar dhtml.userbar
Report Set Bar dhtml.reportsetbar
Toolbar dhtml.toolbar
Menu dhtml.menu
Table of Contents dhtml.toc
Right-click Menu dhtml.popup
DHTML Profile > Function Visibility > Right-click Menu
Display Name dhtml.contextmenu.displayname
Filter dhtml.contextmenu.filter
Sort dhtml.contextmenu.sort
Go to dhtml.contextmenu.goto
Drill dhtml.contextmenu.drill
Show/Hide dhtml.contextmenu.show_or_hide
Rotate dhtml.contextmenu.rotate
Reset dhtml.contextmenu.reset
Refresh dhtml.contextmenu.refresh
Search dhtml.contextmenu.search
Chart Type dhtml.contextmenu.charttype
To Chart dhtml.contextmenu.tochart
To Crosstab dhtml.contextmenu.tocrosstab
Link Report dhtml.contextmenu.linkreport
Detail Report dhtml.contextmenu.detailreport
Delete dhtml.contextmenu.delete
Query Filter dhtml.contextmenu.bcFilter
Expand Data dhtml.contextmenu.expand
Properties dhtml.contextmenu.properties
Style dhtml.contextmenu.style

UI Option Property in the clustered server's system database


JReport Administration page > Cluster > Configuration
Cluster Scheduler Lease cluster.scheduler.lease.enabled
Cluster Scheduler Lease Active cluster.scheduler.lease.active_count
Count
Cluster Scheduler Lease Valid cluster.scheduler.lease.valid_time
Time
Cluster Scheduler Lease Check cluster.scheduler.lease.check_interval
Interval
Cluster Storage History Number cluster.storage.history.number_copies
of Copies
Cluster Storage Realm Number of cluster.storage.realm.number_copies
Copies
Cluster Storage CRD Result cluster.storage.crd_result.number_copies
Number of Copies

Property in LDAPProperties.xml in <install_root>


UI Option
\properties
JReport Administration page > Configuration> LDAP > Server
Enable LDAP enableLDAPSupport
Version2/Version3 ldapVersion
Enable Direct Authentication to enableNoneImportedLDAPSupport
LDAP Server
Enable Auto-Import of Users from enableAutoImportLDAPUser
LDAP Server
LDAP URL url
LDAP Server Port serverPort
Root Entry rootEntry
Directory Manager DN directoryManagerDN
Password password
Encryption Type isUsingSSL
Import LDAP Groups to importGroupType
User Attribute Name userAN
User Common Name userCN
User Password userPassword
Distinguished Name userDN
Filter (for user schema) userFilter
Group Common Name groupCN
Group Member Type groupMemeberType
Distinguished Name groupDN
Filter (for group schema) groupFilter
Admin Group groupAdminGroup
Appendix 5: Dynamic names
When you run a report set periodically, and if you publish the report set result with a fixed name, then
only the last generated report set result can be kept on disk. In order to save the result generated
every time, a dynamic result file name must be used. Similarly, you can use a dynamic directory path
to avoid report set management difficulties, since when a fixed directory path is specified, too many
results may be generated in a single directory. JReport Server provides you with the following defined
strings to form a dynamic name:

Strings
By Description (Sample)
Defined
Time Forms the file name using the date/time when the result is generated (e.g.
2006-07-25, 00:00:00 AM).
yyyy Returns the year (e.g. 2006).
yy Returns the year in short form (e.g. 06).
MM Returns the month of the year, shown in number format (e.g. 12).
dd Returns the day of the month, (e.g. 25).
hh Returns the hour of the day (e.g. 05). It is used for the 12-hour time.
HH Returns the hour of the day (e.g. 05). It is used for the 24-hour time.
mm Returns the minute of the hour (e.g. 00).
ss Returns the second of the minute (e.g. 00).
m Returns the AM/PM marker (e.g. AM).
User Forms the file name using user name.
name Returns the name of the user who is currently logged onto the computer (e.g.
Mike).
z Returns the ordinal number (e.g. 001.pdf, 002.pdf, 003.pdf).
System Forms the file name using the system variables.
language Returns local computer configuration language (e.g. en).
zone Returns the system configuration time zone (e.g. GMT-05.00).
encoding Returns the file encoding (e.g. Cp1252).
region Returns the system configuration region (e.g. US).
JReport
pathcat Returns the catalog file name, with its path and extension (e.g. path.
SampleReports.cat).
CAT Returns the catalog file name, with its extension (e.g. SampleReports.cat).
cat Returns the catalog file name, without its path and extension (e.g.
SampleReports).
pathcls Returns the report set file name, with its full path (e.g. catalog path and
report set path) and extension (e.g. path1.path2.CustomerAnalysis.cls).
CLS Returns the report set file name, with its extension (e.g. CustomerAnalysis.
cls).
cls Returns the report set file name, without its extension and path (e.g.
CustomerAnalysis).
sheet Returns the report name in the report set (e.g. report1).

Naming Rules
● The defined strings are case-sensitive.

● Defined strings must be enclosed by square brackets ([ ]) which must appear in pairs, for example,
[yyyy].
If the string is not a defined string but enclosed by square brackets, an error message will be shown.
For example, if you use myHTMLResult_[yy]$[YYYY][MM]M[dd]D[ABCD] $name$cls[cls].html as the
result file name, you will get an error message (Invalid file name), since ABCD is not defined, but
appears in square brackets.

● You should never use square brackets to enclose strings that are not defined in the above table.
Strings that are not in square brackets will be directly used as (part of) the file name.

● If you want the square brackets and the strings enclosed by them to appear in the file name exactly
as they are, that is, not to be parsed as defined strings, you can add a dollar sign ($) before the
string. For example, if the string is $[yyyy], the result file name will be [yyyy], instead of a specific
year, such as 2006.
If you want to keep the dollar sign ($) together with the square brackets and the strings, you should
add another dollar sign ($). For example, if the string is $$[m], the result file name will be $[m], and
if the string is $$$$[m], the result file name will be $$$[m].

● More than one defined string can be used in the dynamic result file name, except for the ordinal
number (z), such as [m][name], [yyyy].[MM].[dd], [region][yy].

● Characters are permitted to be added between different defined strings. For example, if the string is
[yy]Year[MM]Month, the result could be 02Year2thMonth.

● The number of digits of the ordinal number is determined by the total number of "z"s. For example,
zzz indicates 001, 002, etc, and zz indicates 01, 02, etc.

Notes:
● There are two differences between the naming rules of dynamic result file name and the dynamic
directory name:
❍ String "z" is only supported in the naming result file, but not in the naming dynamic directory. For
example, C:\folder[zz]\folder is incorrect because the sequence for directory is not supported.

❍ "/" will be replaced by "." in the naming result file. However, for naming a dynamic directory, this
rule does not apply.

● When you publish a report set to e-mail, string "z" is not dynamic. For example, zzz only indicates
001 and zz only indicates 01.

Here are some examples of the dynamic result file name:

The Sample Name The Sample Result File Name


myTXTResult_[yyyy].[MM].[dd].[hh]. myTXTResult_2003.10.30.05.14.45.txt
[mm].[ss].txt
myPDFResult_CT[zone][language] myPDFResult_CTGMT-05.00enUSmy$[1].pdf
[region]my$$[1].pdf
myRSTResult_[pathcat][CLS].rst myRSTResult_SampleReports.SampleReports.
catCustomerAnalysis.cls.rst
myRSTResult_[zzz].rst myRSTResult_001.rst, myRSTResult_002.rst, ...
myHTMLResult[cat]_[cls]_[zz].html myHTMLResultSampleReports_CustomerAnalysis_01.html,
myHTMLResultSampleReports_CustomerAnalysis_02.
html,...
myHTMLResult_[yy]$[YYYY][MM]M[dd]D myHTMLResult_02[YYYY]06M21D$name
$name$cls[cls].html $clsCustomerAnalysis.html
Appendix 6: Language and region name list for National
Language Support
In JReport Server, you can only view the abbreviation of national languages or regions supported by it.
If you want to view the full name, go through this appendix to search for it.

Language
Two-letter lower-case symbols Language
aa Afar
ab Abkhazian
af Afrikaans
am Amharic
ar Arabic
as Assamese
ay Aymara
az Azerbaijani

ba Bashkir
be Byelorussian
bg Bulgarian
bh Bihari
bi Bislama
bn Bengali; Bangla
bo Tibetan
br Breton

ca Catalan
co Corsican
cs Czech
cy Welsh

da Danish
de German
dz Bhutani

el Greek
en English
eo Esperanto
es Spanish
et Estonian
eu Basque

fa Persian
fi Finnish
fj Fiji
fo Faroese
fr French
fy Frisian

ga Irish
gd ScotsGaelic
gl Galician
gn Guarani
gu Gujarati

ha Hausa
he Hebrew (formerly iw)
hi Hindi
hr Croatian
hu Hungarian
hy Armenian

ia Interlingua
id Indonesian (formerly in)
ie Interlingue
ik Inupiak
is Icelandic
it Italian
iu Inuktitut

ja Japanese
jw Javanese

ka Georgian
kk Kazakh
kl Greenlandic
km Cambodian
kn Kannada
ko Korean
ks Kashmiri
ku Kurdish
ky Kirghiz

la Latin
ln Lingala
lo Laothian
lt Lithuanian
lv Latvian, Lettish

mg Malagasy
mi Maori
mk Macedonian
ml Malayalam
mn Mongolian
mo Moldavian
mr Marathi
ms Malay
mt Maltese
my Burmese

na Nauru
ne Nepali
nl Dutch
no Norwegian

oc Occitan
om (Afan) Oromo
or Oriya

pa Punjabi
pl Polish
ps Pashto, Pushto
pt Portuguese

qu Quechua

rm Rhaeto-Romance
rn Kirundi
ro Romanian
ru Russian
rw Kinyarwanda

sa Sanskrit
sd Sindhi
sg Sangho
sh Serbo-Croatian
si Sinhalese
sk Slovak
sl Slovenian
sm Samoan
sn Shona
so Somali
sq Albanian
sr Serbian
ss Siswati
st Sesotho
su Sundanese
sv Swedish
sw Swahili

ta Tamil
te Telugu
tg Tajik
th Thai
ti Tigrinya
tk Turkmen
tl Tagalog
tn Setswana
to Tonga
tr Turkish
ts Tsonga
tt Tatar
tw Twi

ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek

vi Vietnamese
vo Volapuk

wo Wolof

xh Xhosa

yi Yiddish (formerly ji)


yo Yoruba

za Zhuang
zh Chinese
zu Zulu

Region
Region A2
AFGHANISTAN AF
ALBANIA AL
ALGERIA DZ
AMERICAN SAMOA AS
ANDORRA AD
ANGOLA AO
ANGUILLA AI
ANTARCTICA AQ
ANTIGUA AND BARBUDA AG
ARGENTINA AR
ARMENIA AM
ARUBA AW
AUSTRALIA AU
AUSTRIA AT
AZERBAIJAN AZ

BAHAMAS BS
BAHRAIN BH
BANGLADESH BD
BARBADOS BB
BELARUS BY
BELGIUM BE
BELIZE BZ
BENIN BJ
BERMUDA BM
BHUTAN BT
BOLIVIA BO
BOSNIA AND HERZEGOWINA BA
BOTSWANA BW
BOUVET ISLAND BV
BRAZIL BR
BRITISH INDIAN OCEAN TERRITORY IO
BRUNEI DARUSSALAM BN
BULGARIA BG
BURKINA FASO BF
BURUNDI BI

CAMBODIA KH
CAMEROON CM
CANADA CA
CAPE VERDE CV
CAYMAN ISLANDS KY
CENTRAL AFRICAN REPUBLIC CF
CHAD TD
CHILE CL
CHINA CN
CHRISTMAS ISLAND CX
COCOS (KEELING) ISLANDS CC
COLOMBIA CO
COMOROS KM
CONGO, Democratic Republic of (was CD
Zaire)
CONGO, People's Republic of CG
COOK ISLANDS CK
COSTA RICA CR
COTE D'IVOIRE CI
CROATIA (local name: Hrvatska) HR
CUBA CU
CYPRUS CY
CZECH REPUBLIC CZ

DENMARK DK
DJIBOUTI DJ
DOMINICA DM
DOMINICAN REPUBLIC DO

EAST TIMOR TL
ECUADOR EC
EGYPT EG
EL SALVADOR SV
EQUATORIAL GUINEA GQ
ERITREA ER
ESTONIA EE
ETHIOPIA ET

FALKLAND ISLANDS (MALVINAS) FK


FAROE ISLANDS FO
FIJI FJ
FINLAND FI
FRANCE FR
FRANCE, METROPOLITAN FX
FRENCH GUIANA GF
FRENCH POLYNESIA PF
FRENCH SOUTHERN TERRITORIES TF

GABON GA
GAMBIA GM
GEORGIA GE
GERMANY DE
GHANA GH
GIBRALTAR GI
GREECE GR
GREENLAND GL
GRENADA GD
GUADELOUPE GP
GUAM GU
GUATEMALA GT
GUINEA GN
GUINEA-BISSAU GW
GUYANA GY

HAITI HT
HEARD AND MC DONALD ISLANDS HM
HONDURAS HN
HONG KONG HK
HUNGARY HU

ICELAND IS
INDIA IN
INDONESIA ID
IRAN (ISLAMIC REPUBLIC OF) IR
IRAQ IQ
IRELAND IE
ISRAEL IL
ITALY IT

JAMAICA JM
JAPAN JP
JORDAN JO

KAZAKHSTAN KZ
KENYA KE
KIRIBATI KI
KOREA, DEMOCRATIC PEOPLE'S KP
REPUBLIC OF
KOREA, REPUBLIC OF KR
KUWAIT KW
KYRGYZSTAN KG

LAO PEOPLE'S DEMOCRATIC REPUBLIC LA


LATVIA LV
LEBANON LB
LESOTHO LS
LIBERIA LR
LIBYAN ARAB JAMAHIRIYA LY
LIECHTENSTEIN LI
LITHUANIA LT
LUXEMBOURG LU

MACAU MO
MACEDONIA, THE FORMER YUGOSLAV MK
REPUBLIC OF
MADAGASCAR MG
MALAWI MW
MALAYSIA MY
MALDIVES MV
MALI ML
MALTA MT
MARSHALL ISLANDS MH
MARTINIQUE MQ
MAURITANIA MR
MAURITIUS MU
MAYOTTE YT
MEXICO MX
MICRONESIA, FEDERATED STATES OF FM
MOLDOVA, REPUBLIC OF MD
MONACO MC
MONGOLIA MN
MONTSERRAT MS
MOROCCO MA
MOZAMBIQUE MZ
MYANMAR MM
NAMIBIA NA
NAURU NR
NEPAL NP
NETHERLANDS NL
NETHERLANDS ANTILLES AN
NEW CALEDONIA NC
NEW ZEALAND NZ
NICARAGUA NI
NIGER NE
NIGERIA NG
NIUE NU
NORFOLK ISLAND NF
NORTHERN MARIANA ISLANDS MP
NORWAY NO

OMAN OM

PAKISTAN PK
PALAU PW
PALESTINIAN TERRITORY, Occupied PS
PANAMA PA
PAPUA NEW GUINEA PG
PARAGUAY PY
PERU PE
PHILIPPINES PH
PITCAIRN PN
POLAND PL
PORTUGAL PT
PUERTO RICO PR

QATAR QA

REUNION RE
ROMANIA RO
RUSSIAN FEDERATION RU
RWANDA RW

SAINT KITTS AND NEVIS KN


SAINT LUCIA LC
SAINT VINCENT AND THE GRENADINES VC
SAMOA WS
SAN MARINO SM
SAO TOME AND PRINCIPE ST
SAUDI ARABIA SA
SENEGAL SN
SEYCHELLES SC
SIERRA LEONE SL
SINGAPORE SG
SLOVAKIA (Slovak Republic) SK
SLOVENIA SI
SOLOMON ISLANDS SB
SOMALIA SO
SOUTH AFRICA ZA
SOUTH GEORGIA AND THE SOUTH GS
SANDWICH ISLANDS
SPAIN ES
SRI LANKA LK
ST. HELENA SH
ST. PIERRE AND MIQUELON PM
SUDAN SD
SURINAME SR
SVALBARD AND JAN MAYEN ISLANDS SJ
SWAZILAND SZ
SWEDEN SE
SWITZERLAND CH
SYRIAN ARAB REPUBLIC SY

TAIWAN TW
TAJIKISTAN TJ
TANZANIA, UNITED REPUBLIC OF TZ
THAILAND TH
TOGO TG
TOKELAU TK
TONGA TO
TRINIDAD AND TOBAGO TT
TUNISIA TN
TURKEY TR
TURKMENISTAN TM
TURKS AND CAICOS ISLANDS TC
TUVALU TV

UGANDA UG
UKRAINE UA
UNITED ARAB EMIRATES AE
UNITED KINGDOM GB
UNITED STATES US
UNITED STATES MINOR OUTLYING UM
ISLANDS
URUGUAY UY
UZBEKISTAN UZ

VANUATU VU
VATICAN CITY STATE (HOLY SEE) VA
VENEZUELA VE
VIET NAM VN
VIRGIN ISLANDS (BRITISH) VG
VIRGIN ISLANDS (U.S.) VI
WALLIS AND FUTUNA ISLANDS WF
WESTERN SAHARA EH

YEMEN YE
YUGOSLAVIA YU

ZAMBIA ZM
ZIMBABWE ZW
Appendix 7: Properties for scheduling report sets via URL
This appendix presents the properties concerned with scheduling report sets via URL. It covers
properties of task, notification, style group, launching type, running report sets in different ways, and
publishing report sets to different formats.
Note: For the properties which are not mentioned in the following sections, you can refer to the
package jet.cs.util in <install_root>\help\server\en\api for their details.

The properties detailed in this section are as follows:


● Launching type properties

● Running report sets at a specific time properties

● Running report sets periodically properties

● Jrs.is_between properties

● Task properties

● Publishing to the versioning system properties

● Publishing to the file system properties

● Publishing to e-mail properties

● Publishing to a printer properties

● Publishing to fax properties

● Publishing to FTP properties

● Notification properties

● Style group properties

● Encrypting PDF properties


Launching type properties
When scheduling report sets via URL, the launching type properties are as follows:
Time:
The details of each property are as follows:
● jrs.launch_type
Constant: jet.cs.util.APIConst.TAG_LAUNCH_TYPE
Description: Specifies to run a report set immediately, at a specific time or periodically.
Possible values: {0, 1, 8}. 0 - run immediately, 1 - run at time, 8 - run periodically

● jrs.timezone
Constant: jet.cs.util.APIConst.TAG_TIMEZONE
Description: Specifies the timezone.
Possible values: timezone ID strings of java default is current locale.
Running report sets at a specific time properties
When scheduling report sets via URL, the running report sets at a specific time properties are as
follows:
● jrs.exe_year
Constant: jet.cs.util.APIConst.TAG_EXE_YEAR
Description: Specifies which year to run the report set.
Possible values: 1980 to 2099

● jrs.exe_month
Constant: jet.cs.util.APIConst.TAG_EXE_MONTH
Description: Specifies which month to run the report set.
Possible values: 0 to 11

● jrs.exe_day
Constant: jet.cs.util.APIConst.TAG_EXE_DAY
Description: Specifies which day to run the report set.
Possible values: 1 to 31

● jrs.exe_hour
Constant: jet.cs.util.APIConst.TAG_EXE_HOUR
Description: Specifies which hour in a day to run the report set (when jrs.is_hourly is false).
Possible values: 0 to 23hour

● jrs.exe_min
Constant: jet.cs.util.APIConst.TAG_EXE_MIN
Description: Specifies which minute in a hour to run the report set (when jrs.is_hourly is false).
Possible values: 0 to 59minute
Running report sets periodically properties
When scheduling report sets via URL, the running report sets periodically properties are as follows:
● jrs.days_id
Constant: jet.cs.util.APIConst.SCH_DAYS_ID
Description: Specifies whether the schedule will run daily, weekly or monthly.
Possible values: {0, 1, 2}. 0 - daily, 1 - weekly, 2 - monthly

Properties about daily


● jrs.is_weekday
Constant: jet.cs.util.APIConst.SCH_IS_WEEKDAY
Description: Specifies whether to run a report set on a specific weekday (i.e. Monday - Friday).
Possible values: {true, false}. The default is false.

● jrs.day
Constant: jet.cs.util.APIConst.SCH_DAY
Description: Specifies that the report set will run once every how many days specified here (when
frequency daily is selected and jrs.is_weekday is false). For example, if the value is set to 1, the
report set will run once everyday. If the value is set to 2, the report set will run once every 2 days.
Possible values: 1 to 999 days

Properties about weekly


● jrs.week
Constant: jet.cs.util.APIConst.SCH_WEEK
Description: Specifies that the report set will run once every how many weeks specified here (when
frequency weekly is selected).
Possible values: 1 to 99 weeks

● jrs.weekdays
Constant: jet.cs.util.APIConst.SCH_WEEKDAYS
Description: Specifies on which day to run in a week (when weekly is selected).
Possible values: A digit string. {0, 1, 2, 3, 4, 5, 6}. 0 - Sunday, 1 - Monday, 2 - Tuesday, 3 -
Wednesday, 4 - Thursday, 5 - Friday, 6 - Saturday
Example: jrs.weekdays=05 means running on Sunday and Friday.

Properties about monthly


● jrs.is_day
Constant: jet.cs.util.APIConst.SCH_IS_DAY
Description: Specifies whether to run on the xth day in a month (when monthly is selected).
Possible values: {true, false}. The default is true.

● jrs.day
Constant: jet.cs.util.APIConst.SCH_DAY
Description: Specifies to run on the xth day in a month (when monthly is selected and jrs.is_day is
true).
Possible values: 1th to 31th. The default is 1.

● jrs.week
Constant: jet.cs.util.APIConst.SCH_WEEK
Description: Specifies to run on the xth week in a month (when monthly is selected and jrs.is_day is
false).
Possible values: {0, 1, 2, 3, 4}. 0 - first, 1 - second, 2 - third, 3 - fourth, 4 - last week. The default is
0

● jrs.weekday
Constant: jet.cs.util.APIConst.SCH_WEEKDAY
Description: Specifies to run on which day in the week (when monthly is selected and jrs.is_day is
false).
Possible values: {1, 2, 3, 4, 5, 6, 7}. 1 - Sunday, 2 - Monday, 3 - Tuesday, 4 - Wednesday, 5 -
Thursday, 6 - Friday, 7 - Saturday. The default is 7.

● jrs.month
Constant: jet.cs.util.APIConst.SCH_MONTH
Description: Specifies that the report set will run once every how many months specified here (when
frequency monthly is selected).
Possible values: 1 to 6 months. The default is 1.

Properties about hourly


● jrs.is_hourly
Constant: jet.cs.util.APIConst.SCH_IS_HOURLY
Description: Specifies to run the schedule every hour.
Possible values: {true, false}. The default is true.

● jrs.hour
Constant: jet.cs.util.APIConst.SCH_HOUR
Description: Specifies to run at which hour in a day (when jrs.is_hourly is false).
Possible values: 1 to 12hour. The default is 1.

● jrs.min
Constant: jet.cs.util.APIConst.SCH_MIN
Description: Specifies to run at which minute in a hour (when jrs.is_hourly is false).
Possible values: 0 to 59minute. The default is 0.

● jrs.is_pm
Constant: jet.cs.util.APIConst.SCH_IS_PM
Description: Specifies whether to run PM or AM in a day (when jrs.is_hourly is false).
Possible values: {true, false}. The default is true.

● jrs.hours
Constant: jet.cs.util.APIConst.SCH_HOURS
Description: Specifies that the report set will run once every how many hours specified here (when
frequency hourly is selected).
Possible values: 1 to 99 hours. The default is 1.

● jrs.at_min
Constant: jet.cs.util.APIConst.SCH_AT_MIN
Description: Specifies to run at which minute in an hour (when jrs.is_hourly is true).
Possible values: 0 to 59minute. The default is 0.
● jrs.is_between
Constant: jet.cs.util.APIConst.SCH_IS_BETWEEN
Description: Specifies whether to run between the start time and the finish time (when jrs.is_hourly
is true).
Possible values: {true, false}

Properties about minutely


● jrs.is_minutely
Constant: jet.cs.util.APIConst.SCH_IS_MINUTELY
Description: Specifies whether to run the schedule every minute.
Possible values: {true, false}

● jrs.minutes
Constant: jet.cs.util.APIConst.SCH_MINUTES
Description: Specifies that the report set will run once every how many minutes specified here (when
frequency minutely is selected).
Possible values: 1 to 999 minutes

Note: The property jrs.is_hourly has the higher priority. That is, if you set both jrs.is_hourly
and jrs.is_minutely to true, the schedule will run the task based on hour.
Jrs.is_between properties
When scheduling report sets via URL, the jrs.is_between properties are as follows:
● jrs.hour
Constant: jet.cs.util.APIConst.SCH_HOUR
Description: Specifies the start hour of a period of time (when jrs.is_hourly is true, jrs.is_between is
true).
Possible values: 1-12hour

● jrs.min
Constant: jet.cs.util.APIConst.SCH_MIN
Description: Specifies the start minute of a period of time (when jrs.is_hourly is true, jrs.is_between
is true).
Possible values: 0-59minute

● jrs.is_pm
Constant: jet.cs.util.APIConst.SCH_IS_PM
Description: Specifies the start PM or AM of a period of time (when jrs.is_hourly is true, jrs.
is_between is true).
Possible values: {true, false}

● jrs.hour2
Constant: jet.cs.util.APIConst.SCH_HOUR2
Description: Specifies the finish hour of a period of time (when jrs.is_hourly is true, jrs.is_between is
true).
Possible values: 1-12hour. The default is 5.

● jrs.min2
Constant: jet.cs.util.APIConst.SCH_MIN2
Description: Specifies the finish minute of a period of time (when jrs.is_hourly is true, jrs.is_between
is true).
Possible values: 0-59minute. The default is 0.

● jrs.is_pm2
Constant: jet.cs.util.APIConst.SCH_IS_PM2
Description: Specifies the finish PM or AM of a period of time (when jrs.is_hourly is true, jrs.
is_between is true).
Possible values: {true, false}

● jrs.is_after
Constant: jet.cs.util.APIConst.SCH_IS_AFTER
Description: Specifies to run after the specified time (when jrs.is_hourly or jrs.is_minutely is true).
Possible values: {true, false}

Note: If the value is true, the specified time is represented by the properties of jrs.exe_year, jrs.
exe_month, jrs.exe_day, jrs.exe_hour or jrs.exe_min.
● jrs.is_before
Constant: jet.cs.util.APIConst.SCH_IS_BEFORE
Description: Specifies to run before the specified time (when jrs.is_hourly or jrs.is_minutely is true).
Possible values: {true, false}
Note: If the value is true, the specified time is represented by the properties of jrs.cease_year,
jrs.cease_month, jrs.cease_day, jrs.cease_hour, jrs.cease_min or jrs.cease_sec.
Task properties
When scheduling report sets via URL, the task properties are as follows:
● jrs.task_class
Constant: jet.cs.util.APIConst.TAG_TASK_CLASS
Description: Specifies the class name of the task.
Possible values:
"jet.server.schedule.jrtasks.UpdateRptTask",
"jet.server.schedule.jrtasks.PublishToDiskTask",
"jet.server.schedule.jrtasks.SendJRMailTask",
"jet.server.schedule.jrtasks.SendMailTask",
"jet.server.schedule.jrtasks.PrintRptTask".

● jrs.has_task_listener
Constant: jet.cs.util.APIConst.TAG_HAS_TASK_LISTENER
Description: Specifies whether or not to implement TaskListener.
Possible values: {true, false}

● jrs.task_listener_class
Constant: jet.cs.util.APIConst.TAG_TASK_LISTENER_CLASS
Description: Specifies the user's Java class name which implements the TaskListener (jrs.
task_listener_class).
Possible value: a class name (String)

● jrs.task_id
Constant: jet.cs.util.APIConst.TAG_TASK_ID
Description: Specifies the task ID of a scheduled task. This property is unnecessary if a new schedule
is submitted.

● jrs.catalog
Constant: jet.cs.util.APIConst.TAG_CATALOG
Description: Specifies the catalog's full path.
Example: /SampleReports/SampleReports.cat

● jrs.report
Constant: jet.cs.util.APIConst.TAG_REPORT
Description: Specifies the report set name.
Example: EmployeeInformation.cls

● jrs.param$ + PARAMETER_NAME
Constant: jet.cs.util.APIConst.TAG_PARAM_PREFIX + PARAMETER_NAME
Description: Specifies parameter values for running the report set.
Example: jrs.param$PToday=May+21%2c+1998

Note: For a multi-value parameter, when specifying values for it, you need to add
_isMultiple_jrs.param$PARAMETER_NAME=true before the parameter values to declare that the
parameter supports multiple values. For example, &_isMultiple_jrs.param$PM=true&jrs.
param$PM=3&jrs.param$PM=16.
● jrs.param_values
Constant: jet.cs.util.APIConst.TAG_PARAM_VALUES
Description: Specifies parameter values for running the report set. This is the escaped string of the
parameter values of the report set.
Format:
PARAMETER_NAME=VALUE,PARAMETER_NAME=VALUE,...
Examples: jrs.param_values=PTODAY%3dMay%2021%5c%2c%201998%2cTERMSDAYS%3d30
(original: PTODAY=May 21\, 1998,TERMSDAYS=30)
jrs.param_values=STARTDATE%3d1998-05-10%2cENDDATE%3d1998-07-10
(original: STARTDATE=1998-05-10,ENDDATE=1998-07-10)

● jrs.rpt_language
Constant: jet.cs.util.APIConst.TAG_REPORT_LANGUAGE
Description: Specifies the language in which to generate the report set. The value you set for this
command should be consistent with the language and country code part of the language property file
name (e.g. de_DE in ReportName_de_DE. properties). For example, if the language property file is
named ReportName_de_DE. properties, you should set this command as jrs.rpt_language=de_DE.
You can also use jrs.rpt_language=de&jrs.rpt_country=DE to achieve the same goal. If you only
want to use jrs.rpt_language=de, then you will have to rename the language property file to
ReportName_de. properties.
Examples:
❍ http://localhost:8888/jrserver/SampleReports/SampleReports.cat/EmployeeInformation.
cls?jrs.cmd=jrs.web_vw&jrs.result_type=2&jrs.enable_nls=true&jrs.rpt_language=de_DE

❍ http://localhost:8888/dhtmljsp/dhtml.jsp?jrs.catalog=/SampleReports/SampleReports.
cat&jrs.report=/SampleReports/EmployeeInformation.cls&jrs.enable_nls=true&jrs.
rpt_language=de&jrs.rpt_country=DE

❍ If you change EmployeeInformation_de_DE.properties to EmployeeInformation_aaa.properties in


EmployeeInformation.cls's real path folder, for example C:\JReport\Server\history\1
\JReport_System_User457188937, then you can use the following URL to run NLS report:
http://localhost:8888/dhtmljsp/dhtml.jsp?jrs.catalog=/SampleReports/SampleReports.
cat&jrs.report=/SampleReports/EmployeeInformation.cls&jrs.enable_nls=true&jrs.
rpt_language=aaa

● jrs.rpt_encoding
Constant: jet.cs.util.APIConst.TAG_REPORT_ENCODING
Description: Specifies the encoding in which to generate the report set.

● jrs.db_user
Constant: jet.cs.util.APIConst.TAG_DB_USER
Description: Specifies the new database user ID if you do not want to use the default DB user ID
stored in the catalog.

● jrs.db_pswd
Constant: jet.cs.util.APIConst.TAG_DB_PSWD
Description: Specifies the new database password if you do not want to use the default DB password
in the catalog.

● jrs.jdbc_url
Constant: jet.cs.util.APIConst.TAG_JDBC_URL
Description: Specifies the new JDBC URL in the catalog to run a report set.

● jrs.jdbc_driver
Constant: jet.cs.util.APIConst.TAG_JDBC_DRIVER
Description: Specifies the new JDBC driver in the catalog to run a report set.

● jrs.jdbc_connection_object
Constant: jet.cs.util.APIConst.TAG_JDBC_CONNECTION_OBJECT
Description: Specifies to dynamically use the user's java.sql.Connection object to run a report set.
This parameter can be used in methods runReport(...), runReportNotWaitResult(...) and
submitScheduledTask(...) of jet.server.api.RptServer.
Example: Running a report set with user's JDBC connection object by using JReport Server API.
//create the java.sql.Connection object.
java.sql.Connection myCon = java.sql.DriverManager.getConnection(dbUrl);
//set the parameter "jrs.jdbc_connection_object" to run a report set.
propParams.put("jrs.jdbc_connection_object", myCon);
//run the report set using this java.sql.Connection object instead of
//the default DB settings in the catalog.
rptServer.runReport(userID, catalog, report set, propParams);

● jrs.wp
Constant: jet.cs.util.APIConst.TAG_WHERE_PORTION
Description: Specifies the where portion.

● jrs.named_wp
Constant: jet.cs.util.APIConst.TAG_NAMED_WHERE_PORTION
Description: Specifies the named where portion that exists in the catalog.

● jrs.if_print
Constant: jet.cs.util.APIConst.TAG_IF_PRINT
Description: Specifies whether or not to print the report set result. The default value is false

● jrs.printer
Constant: jet.cs.util.APIConst.TAG_PRINTER
Description: Specifies the printer for printing the report set result.

● jrs.mail_to_referuser
Constant: jet.cs.util.APIConst.TAG_MAIL_TO_REFERUSER
Description: Specifies whether or not to send mails to each user who is authorized to view a report
set with cached report bursting.
Possible values: {true, false}
Publishing to the versioning system properties
When scheduling report sets via URL, the publishing to the versioning system properties are as follows:
● jrs.expire_days
Constant: jet.cs.util.APIConst.TAG_EXPIRE_DAYS
Description: Specifies the number of days a result version will be kept until it expires. The default
value is 30.
Publishing to the file system properties
When scheduling report sets via URL, the publishing to the file system properties are as follows:
● jrs.rst_dir
Constant: jet.cs.util.APIConst.TAG_RST_DIR
Description: Specifies the path for the published JReport result file.
Possible values: /publish_site

● jrs.rst
Constant: jet.cs.util.APIConst.TAG_RST
Description: Specifies the result filename for the published JReport result file.
Possible values: EmployeeInformation.rst

● jrs.html_dir
Constant: jet.cs.util.APIConst.TAG_HTML_DIR
Description: Specifies the path for the published HTML file.
Possible values: /publish_site

● jrs.html
Constant: jet.cs.util.APIConst.TAG_HTML
Description: Specifies the filename for the published HTML file.
Possible values: EmployeeInformation.htm

● jrs.is_dhtml
Constant: APIConst.TAG_IS_DHTML
Description: Specifies to generate a DHTML TOC (To HTML).
Possible values: {true, false}. The default is false.

● jrs.is_multi_files
Constant: jet.cs.util.APIConst.TAG_IS_MULTI_FILES
Description: Specifies whether HTML is generated to a single or to multiple files (To HTML).
Possible values: {true, false}. The default is true.

● jrs.is_applet_chart
Constant: jet.cs.util.APIConst.TAG_IS_CHART_APPLET
Description: Specifies that the chart in HTML file is an applet (To HTML).
Possible values: {true, false}. The default is true.

● jrs.has_hyperlink
Constant: jet.cs.util.APIConst.TAG_HAS_HYPERLINK
Description: Specifies to generate hyperlinks in the HTML file (To HTML).
Possible values: {true, false}. The default is true.

● jrs.has_page_number
Constant: jet.cs.util.APIConst.TAG_HAS_PAGE_NUMBER
Description: Specifies to generate page numbers (To HTML).
Possible values: {true, false}. The default is true.

● jrs.use_table
Constant: jet.cs.util.APIConst.TAG_USE_TABLE
Description: Specifies to use the HTML table to generate the HTML page (To HTML).
Possible values: {true, false}. The default is false
● jrs.relative_font_size
Constant: jet.cs.util.APIConst.TAG_RELATIVE_FONT_SIZE
Description: Specifies to generate HTML pages with a relative font size (To HTML).
Possible values: {true, false}. The default is false.

● jrs.drilldown
Constant: jet.cs.util.APIConst.TAG_DRILLDOWN
Description: Specifies to drilldown on the HTML page (To HTML).
Possible values: {true, false}. The default is false.

● jrs.no_margin_html
Constant: jet.cs.util.APIConst.TAG_NO_MARGIN_HTML
Description: Specifies that there is no margin in the HTML page (To HTML).
Possible values: {true, false}. The default is false.

● jrs.web_browser
Constant: jet.cs.util.APIConst.TAG_WEB_BROWSER
Description: Specifies which web browser to generate the HTML pages for (To HTML).
Possible values: {0, 1}. 0 - IE or Chrome, 1 - Firefox. The default is 0.

● jrs.pdf_dir
Constant: jet.cs.util.APIConst.TAG_PDF_DIR
Description: Specifies the path of the published PDF file.
Possible values: /publish_site

● jrs.pdf
Constant: jet.cs.util.APIConst.TAG_PDF
Description: Specifies the filename of the published PDF file.
Possible values: EmployeeInformation.rst

● jrs.no_margin_pdf
Constant: jet.cs.util.APIConst.TAG_NO_MARGIN_PDF
Description: Specifies to display no margin (To PDF).
Possible values: {true, false}. The default is false.

● jrs.compress_image_pdf
Constant: jet.cs.util.APIConst.TAG_COMPRESS_IMAGE_PDF
Description: Specifies the compression ratio of the image in the report set (To PDF).
Possible values: 1 to 100. The default is 20.

● jrs.print_mode_pdf
Constant: jet.cs.util.APIConst.TAG_PRINT_MODE_PDF
Description: Specifies whether to use Generate charts and barcodes using images (recommended)
(false) or Generate charts and barcodes using vector graphics (true) (To PDF). By checking Generate
charts and barcodes using vector graphics, the exporting speed is much improved.
Possible values: {true, false}. The default is false.

● jrs.text_dir
Constant: jet.cs.util.APIConst.TAG_TEXT_DIR
Description: Specifies the path of the published TXT file.
Possible values: /publish_site

● jrs.text
Constant: jet.cs.util.APIConst.TAG_TEXT
Description: Specifies the filename of the published TXT file.
Possible values: EmployeeInformation.txt
● jrs.is_norm_txt
Constant: jet.cs.util.APIConst.TAG_IS_NORMAL_TEXT
Description: Specifies whether this text file is in Delimited Format or not (To TEXT). When it is set to
false, the output format is Delimited Format.
Possible values: {true, false} The default is true.

● jrs.is_text_delimiter
Constant: jet.cs.util.APIConst.TAG_TEXT_IS_DELIMITER
Description: Specify a delimiter to separate fields (To TEXT).
Possible values: It has three values:
❍ jrs.delimiter
Constant: jet.cs.util.APIConst.TAG_DELIMITER
Description: If jrs.is_text_delimiter=jrs.delimiter, you can use jrs.delimiter to specify a delimiter
character, for example, jrs.delimiter=','.
Possible values: A user defined delimiter.

❍ jrs.is_tab
Constant: jet.cs.util.APIConst.TAG_IS_TAB
Description: Uses a Tab delimiter to separate the fields.

❍ jrs.is_csv
Constant: jet.cs.util.APIConst.TAG_IS_CSV
Description: Exports to the CSV format text file.

● jrs.is_repeat
Constant: jet.cs.util.APIConst.TAG_IS_REPEAT
Description: Specifies whether the same content is repeated (To TEXT).
Possible values: {true, false}. The default is false.

● jrs.udchar_width
Constant: jet.cs.util.APIConst.TAG_CHAR_WIDTH
Description: Specifies the user defined width. It would be given up if the value is 0 or less than 0 (To
TEXT).

● jrs.udchar_height
Constant: jet.cs.util.APIConst.TAG_CHAR_HEIGHT
Description: Specifies the user defined height. It would be given up if the value is 0 or less than 0
(To TEXT).

● jrs.is_quotemark
Constant: jet.cs.util.APIConst.TAG_IS_QUOTEMARK
Description: Specifies that quotation marks should be placed in the published text file.
Possible values: {true, false}. The default is true.

● jrs.hasHeadFoot
Constant: jet.cs.util.APIConst.TAG_HASHEADFOOT
Description: Specifies to generate the page header or footer (To TEXT).
Possible values: {true, false}. The default is true.

● jrs.txt_compress
Constant: jet.cs.util.APIConst.TAG_TXT_COMPRESS
Description: Specifies to compress the published text file.
Possible values: {true, false}. The default is false.

● jrs.excel_dir
Constant: jet.cs.util.APIConst.TAG_EXCEL_DIR
Description: Specifies the path of the published Excel file.
Possible values: /publish_site

● jrs.excel
Constant: jet.cs.util.APIConst.TAG_EXCEL
Description: Specifies the filename of the published Excel file.
Possible values: EmployeeInformation.rst

● jrs.ps_dir
Constant: jet.cs.util.APIConst.TAG_PS_DIR
Description: Specifies the path of the published PostScript file.
Possible values: /publish_site

● jrs.ps
Constant: jet.cs.util.APIConst.TAG_PS
Description: Specifies the result filename of the published PostScript file.
Possible values: EmployeeInformation.rst

● jrs.no_margin_ps
Constant: jet.cs.util.APIConst.TAG_NO_MARGIN_PS
Description: Specifies that no margins are included (To PostScript).
Possible values: {true, false}. The default is false.

● jrs.rtf_dir
Constant: jet.cs.util.APIConst.TAG_PS_DIR
Description: Specifies the path for publishing to Rich Text Format.
Possible values: /publish_site

● jrs.rtf
Constant: jet.cs.util.APIConst.TAG_RTF
Description: Specifies the result filename for publishing to Rich Text Format.
Possible values: EmployeeInformation.rst

● jrs.no_margin_rtf
Constant: jet.cs.util.APIConst.TAG_NO_MARGIN_RTF
Description: Specifies that no margins are included (To Rich Text Format).
Possible values: {true, false}. The default is false.

● jrs.xml_dir
Constant: jet.cs.util.APIConst.TAG_XML_DIR
Description: Specifies the path for publishing to XML file.
Possible values: /publish_site

● jrs.xml
Constant: jet.cs.util.APIConst.TAG_XML
Description: Specifies the result filename for publishing to XML file.
Possible values: EmployeeInformation.xml

● jrs.is_only_data
Constant: jet.cs.util.APIConst.TAG_IS_ONLY_DATA
Description: Specifies to contain only data in the published XML file.
Possible values: {true, false}. The default is false.

● jrs.to_disk
Constant: jet.cs.util.APIConst.TAG_TO_DISK
Description: Specifies that the report set is scheduled for publishing to disk.
Possible values: {true, false}
● jrs.to_disk_???_path_type
??? specifies the format of the published report set. For example, HTML or PDF. See the example
below.

● jrs.to_disk_pdf_path_type
Constant: jet.cs.util.APIConst.TAG_TO_DISK_PDF_PATH_TYPE
Description: Specifies whether to schedule the report set for publishing to a real disk path or to the
JReport Server resource path in PDF format.
Possible values: {0, 1}. 0 - publish to the JReport Server resource path, 1 - publishing to a real disk
path

Examples
Example 1: Publish a report set to a real disk path in PDF format
http://localhost:8888/jinfonet/submitSchedPage.jsp?jrs.cmd=jrs.submit_schedule&jrs.
catalog=%2fSampleReports%2fSampleReports.cat&jrs.report=%2fSampleReports%
2fEmployeeInformation.cls&jrs.task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.
to_disk=true&jrs.to_disk_pdf_path_type=1&jrs.result_type=2&jrs.auth_uid=admin&jrs.
auth_pwd=admin&jrs.pdf_dir=d:\&jrs.pdf=abc.pdf&jrs.to_pdf=true

Example 2: Publish a report set to a real disk path in TXT format


http://localhost:8888/jrserver?jrs.cmd=jrs.submit_schedule&jrs.catalog=%2fSampleReports%
2fSampleReports.cat&jrs.report=%2fSampleReports%2fEmployeeInformation.cls&jrs.
task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.to_disk=true&jrs.
to_disk_text_path_type=1&jrs.result_type=3&jrs.auth_uid=admin&jrs.auth_pwd=admin&jrs.
text_dir=d:\&jrs.text=abc.txt&jrs.to_text=true
Publishing to e-mail properties
When scheduling report sets via URL, the publishing to e-mail properties are as follows:
● jrs.jrmail + NUMBER
Constant: jet.cs.util.APIConst.TAG_JRMAIL + NUMBER
Description: Contains specifications (JReport mail properties) of one send-mail task for a report set.
Example: jrs.jrmail0=jrs.mailsubject%3dreport%2520EmployeeInformation%26jrs.mailformat
%3d0%26jrs.mailto%3dreader1%26jrs.jrmail1=jrs.mailsubject%3dreport%
2520EmployeeInformation%26jrs.mailformat%3d4%26jrs.mailto%3dreader2%252c%2520reader3%
26

● jrs.csmail + NUMBER
Constant: jet.cs.util.APIConst.TAG_NORMAL_MAIL + NUMBER
Description: Contains specifications (JReport mail properties) of one send-mail task for sending an e-
mail with or without an attachment. This property is used via URL or via invoking Server API.
Example: jrs.csmail0=jrs.mailcomments%3dto%2520user1.%26jrs.mailsubject%3dtest%
2520sending%2520normal%2520emails%2520without%2520report%26jrs.mailto%3dtim%40support.
jinfonet.com&jrs.mailattach1%3dd%3a%5ctest1.txt&jrs.mailattach0%3dd%3a%5ctest0.txtjrs.
csmail1=jrs.mailcomments%3dto%2520user2.%26jrs.mailsubject%3dtest%2520sending%
2520normal%2520emails%2520without%2520report%26jrs.mailto%3dhelen%40support.jinfonet.
com%26jrs.mailattach1%3dd%3a%5ctest2.txt%26jrs.mailattach0%3dd%3a%5ctest3.txt

Properties in jrs.jrmail
● jrs.mailto
Constant: jet.cs.util.APIConst.TAG_MAIL_TO
Description: Specifies the mail address.

● jrs.mailcc
Constant: jet.cs.util.APIConst.TAG_MAIL_CC
Description: Specifies the mail address to be carbon copied to.

● jrs.mailbcc
Constant: jet.cs.util.APIConst.TAG_MAIL_BCC
Description: Specifies the mail address to be blind carbon copied to.

● jrs.mailsubject
Constant: jet.cs.util.APIConst.TAG_MAIL_SUBJECT
Description: Specifies the "SUBJECT" of the e-mail.

● jrs.mailcomments
Constant: jet.cs.util.APIConst.TAG_MAIL_COMMENT
Description: Specifies the "COMMENTS" field of the e-mail.

● jrs.mailformat
Constant: jet.cs.util.APIConst.TAG_MAIL_FORMAT
Description: Specifies the mail format.
Possible values: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. 0 - E-mail Result in HTML E-mail Format, 1 - E-mail
Result in Plain Text E-mail Format, 2 - Attachment in JReport Result Format, 3 - Attachment in HTML
Format, 4 - Attachment in PDF Format, 5 - Attachment in Excel Format, 6 - Attachment in Text
Format, 7 - Attachment in RTF Format, 8 - Attachment in XML Format, 9 - Attachment in PostScript
Format. The default value is 0.

● jrs.mailcompress
Constant: jet.cs.util.APIConst.TAG_MAIL_COMPRESS
Description: Specifies whether to enable Java archive compress.
Possible values: {true, false}. The default is false.

● jrs.udchar_width
Constant: jet.cs.util.APIConst.TAG_CHAR_WIDTH
Description: Specifies the user defined character width. It has no effect if the value is 0 or less than 0
(for TEXT format).

● jrs.udchar_height
Constant: jet.cs.util.APIConst.TAG_CHAR_HEIGHT
Description: Specifies the user defined character height. It has no effect if the value is 0 or less than
0 (for TEXT format).

● jrs.no_margin_mail
Constant: jet.cs.util.APIConst.TAG_NO_MARGIN_MAIL
Description: Specifies that there are no margins for the report set in the e-mail.
Possible values: {true, false}. The default is false.

● jrs.use_table_mail
Constant: jet.cs.util.APIConst.TAG_USE_TABLE_MAIL
Description: Specifies to use the HTML table to generate an HTML format e-mail.
Possible values: {true, false}. The default is false, which means to generate the HTML table.

● jrs.mailattach + NUMBER
Constant: jet.cs.util.APIConst.TAG_MAIL_ATTACH
Description: Specifies the attached file for this mail. You can attach multiple files with one mail.
Possible values: The attached file name
Example: jrs.mailattach0=d%3a%5ctest1.txt (where "d%3a%5ctest1.txt" is the URL-
encoded string of "d:\test1.txt")

● jrs.mailencoding
Constant: jet.cs.util.APIConst.TAG_MAIL_ENCODING
Description: Specifies the encoding of the mails.
Possible values: UTF-8, UTF-16, ISO8859-1 and so on.

Note: jrs.mailencoding is used to specify the mail encoding in the URL. When sending mails by
RMI API, sometimes, wrong characters may be returned in the mail. In order to avoid such
problems, specify the same correct value of -Djreport.url.encoding on both the server and RMI
client side.
For example, your web application calls JReport Server (standalone) via the RMI function from
WebSphere, and UTF-8 (use UTF-8 rather than UTF8) will be used as the mail encoding, do as
follows:
❍ Specify -Djreport.url.encoding=UTF-8 for both JVM running JReport Server and WebSphere.

❍ Specify jrs.mailencoding=UTF-8.
Publishing to a printer properties
When scheduling report sets via URL, the publishing to a printer properties are as follows:
● jrs.printer
Constant: jet.cs.util.APIConst.TAG_PRINTER
Description: Specifies the printer with which to print the report set result.

● jrs.print_copies
Constant: jet.cs.util.PrintConst.TAG_PRINT_COPIES
Description: Specifies the number of copies to print the report set result.

● jrs.has_margins
Constant: jet.cs.util.PrintConst.TAG_HAS_MARGINS
Description: Specifies whether to have margins in the printed report set result.
When jrs.has_margins is true, the following properties are available for use:
❍ jrs.margins_left
Constant: jet.cs.util.PrintConst.TAG_MARGINS_LEFT
Description: Specifies the length of the left margin to print the report set result.

❍ jrs.margins_right
Constant: jet.cs.util.PrintConst.TAG_MARGINS_RIGHT
Description: Specifies the length of the right margin to print the report set result.

❍ jrs.margins_top
Constant: jet.cs.util.PrintConst.TAG_MARGINS_TOP
Description: Specifies the length of the top margin to print the report set result.

❍ jrs.margins_bottom
Constant: jet.cs.util.PrintConst.TAG_MARGINS_BOTTOM
Description: Specifies the length of the bottom margin to print the report set result.

❍ jrs.margins_unit
Constant: jet.cs.util.PrintConst.TAG_MARGINS_UNIT
Description: Specifies the unit to print the report set result.
Values: There are two values:
■ jrs.margins_unit_mm
Constant: jet.cs.util.PrintConst.MARGINS_UNIT_MM
Description: Specifies mm as the margin unit.

■ jrs.margins_unit_inch
Constant: jet.cs.util.PrintConst.MARGINS_UNIT_INCH
Description: Specifies inch as the margin unit.

● jrs.print_mediatray
Constant: jet.cs.util.PrintConst.TAG_PRINT_MEDIATRAY
Description: Specifies the custom tray to put the printing paper.
Example:
http://localhost:8888/jrserver?jrs.cmd=jrs.submit_schedule&jrs.catalog=%
2fSampleReports%2fSampleReports.cat&jrs.report=%2fSampleReports%2fBanded_Link.cls&jrs.
task_class=jet.server.schedule.jrtasks.PublishRptTask&jrs.launch_type=0&jrs.
to_printer=true&jrs.print_usejdk=2&jrs.printer=smartprint&jrs.print_copies=2&jrs.
print_mediatray=Form-Source&jrs.has_margins=true&jrs.margins_left=8&jrs.
margins_right=9&jrs.margins_top=7&jrs.margins_bottom=7&jrs.margins_unit=jrs.
margins_unit_mm

Note: In this case, you must set the value for the following properties at the same time: jrs.
margins_left, jrs.margins_right, jrs.margins_top, jrs.margins_bottom and jrs.margins_unit;
otherwise, it can not work smoothly.
Publishing to fax properties
When scheduling report sets via URL, the publishing to fax properties are as follows:
● jrs.to_fax
Constant: jet.cs.util.APIConst.TAG_TO_FAX
Description: Specifies whether to publish the report set result to fax.
Possible values: {true, false}
❍ jrs.to_fax_quality
Constant: jet.cs.util.APIConst.TAG_TO_FAX_QUALITY
Description: Specifies the fax quality.
Possible values: {jrs.to_fax_quality_best, jrs.to_fax_quality_fast, jrs.to_fax_quality_normal}
■ jrs.to_fax_quality_best
Constant: jet.cs.util.APIConst.TAG_TO_FAX_QUALITY_BEST
Description: Indicates the best fax quality.

■ jrs.to_fax_quality_fast
Constant: jet.cs.util.APIConst.TAG_TO_FAX_QUALITY_FAST
Description: Indicates the fast fax quality.

■ jrs.to_fax_quality_normal
Constant: jet.cs.util.APIConst.TAG_TO_FAX_QUALITY_NORMAL
Description: Indicates the normal fax quality.

❍ jrs.to_fax_is_inclue_cover
Constant: jet.cs.util.APIConst.TAG_TO_FAX_IS_INCLUDE_COVER
Description: Specifies whether to send a cover sheet with the fax.
Possible values: {true, false}
■ jrs.to_fax_date
Constant: jet.cs.util.APIConst.TAG_TO_FAX_DATE
Description: Specifies the date on which the fax is to be sent.

■ jrs.to_fax_to
Constant: jet.cs.util.APIConst.TAG_TO_FAX_TO
Description: Specifies the fax recipient.

■ jrs.to_fax_to_fax_num
Constant: jet.cs.util.APIConst.TAG_TO_FAX_TO_FAX_NUMBER
Description: Specifies the fax number of the recipient.

■ jrs.to_fax_from
Constant: jet.cs.util.APIConst.TAG_TO_FAX_FROM
Description: Specifies the fax sender.

■ jrs.to_fax_from_company_name
Constant: jet.cs.util.APIConst.TAG_TO_FAX_FROM_COMPANY_NAME
Description: Specifies the sender's company.

■ jrs.to_fax_from_phone
Constant: jet.cs.util.APIConst.TAG_TO_FAX_FROM_PHONE
Description: Specifies the sender's phone number.
■ jrs.to_fax_subject
Constant: jet.cs.util.APIConst.TAG_TO_FAX_SUBJECT
Description: Specifies the subject of the fax.

■ jrs.to_fax_comments
Constant: jet.cs.util.APIConst.TAG_TO_FAX_COMMENTS
Description: Specifies the comments of the fax.

■ jrs.to_fax_urgent
Constant: jet.cs.util.APIConst.TAG_TO_FAX_URGENT
Description: Specifies whether the fax is urgent.
Possible values: {true, false}

■ jrs.to_fax_for_review
Constant: jet.cs.util.APIConst.TAG_TO_FAX_FOR_REVIEW
Description: Specifies whether the fax is for review.
Possible values: {true, false}

■ jrs.to_fax_please_comment
Constant: jet.cs.util.APIConst.TAG_TO_FAX_PLEASE_COMMENT
Description: Specifies whether the recipient is required to comment on the content of the fax.
Possible values: {true, false}

■ jrs.to_fax_please_reply
Constant: jet.cs.util.APIConst.TAG_TO_FAX_PLEASE_REPLY
Description: Specifies whether a reply is required for the fax.
Possible values: {true, false}
Publishing to FTP properties
When scheduling report sets via URL, the publishing to FTP properties are as follows:
● jrs.to_FTP
Constant: jet.cs.util.APIConst.TAG_TO_FTP
Description: Specifies whether to publish the report set result to FTP.
Possible values: {true, false}

● jrs.ftp
Constant: jet.cs.util.APIConst.TAG_JRFTP
Description: The JReport FTP. It is used to parse multiple sites.

● jrs.ftpLbl
Constant: jet.cs.util.APIConst.TAG_FTP_LBL
Description: Specifies the label of the FTP server.
Possible values: Jinfonet FTP Site

● jrs.ftpHost
Constant: jet.cs.util.APIConst.TAG_FTP_HOST
Description: Specifies the host of the FTP server.
Possible values: 192.168.126.1

● jrs.ftpPort
Constant: jet.cs.util.APIConst.TAG_FTP_PORT
Description: Specifies the port of the FTP server.
Possible values: 21

● jrs.ftpUn
Constant: jet.cs.util.APIConst.TAG_FTP_UN
Description: Specifies the user name for logging in the FTP server.
Possible values: FTP user1

● jrs.ftpPsd
Constant: jet.cs.util.APIConst.TAG_FTP_PSD
Description: Specifies the password for logging in the FTP server.
Possible values: 123456

● jrs.ftpAcct
Constant: jet.cs.util.APIConst.TAG_FTP_ACCT
Description: Specifies the account for logging in the FTP server.

● jrs.ftpLoc
Constant: jet.cs.util.APIConst.TAG_FTP_LOC
Description: Specifies the remote directory on the FTP server to which the files will be published.
Possible values: Jreport/FTP/20061218/

● jrs.ftpHdlCls
Constant: jet.cs.util.APIConst.TAG_FTP_HANDLER_CLASS
Description: Specifies the FTP client-end handler class for communicating with the FTP server.
Possible values: FTPHandler class name or null which is the default value.

● jrs.ftpProt
Constant: jet.cs.util.APIConst.TAG_FTP_PROT
Description: Specifies the protocol for communicating with the FTP server.
Possible values: {0, 1, 2, 3}. 0 - FTP, 1 - SFTP, 2 - SCP, 3 - FTPS

● jrs.ftpsConType
Constant: jet.cs.util.APIConst.TAG_FTPS_CONN_TYPE
Description: Specifies the connection type of FTPS.
Possible values: {0, 1}. 0 - EXPLICIT, 1 - IMPLICIT

● jrs.ftpsEnNoSec
Constant: jet.cs.util.APIConst.TAG_FTPS_EN_NO_SEC
Description: Specifies whether to enable falling back to the no-security FTP connection if the explicit
FTPS connection is not available.
Possible values: {true, false}

● jrs.ftpsKSType
Constant: jet.cs.util.APIConst.TAG_FTPS_KS_TYPE
Description: Specifies the keystore type of FTPS.

● jrs.ftpsKSFile
Constant: jet.cs.util.APIConst.TAG_FTPS_KS_FILE
Description: Specifies the keystore file of FTPS.

● jrs.ftpsKSPsd
Constant: jet.cs.util.APIConst.TAG_FTPS_KS_PSD
Description: Specifies the keystore password of FTPS.

● jrs.ftpsKMAlg
Constant: jet.cs.util.APIConst.TAG_FTPS_KM_ALG
Description: Specifies the keymanager algorithm of FTPS.

● jrs.ftpsSecProt
Constant: jet.cs.util.APIConst.TAG_FTPS_SEC_PROT
Description: Specifies the security protocol of FTPS.

● jrs.ftpsTMAlg
Constant: jet.cs.util.APIConst.TAG_FTPS_TM_ALG
Description: Specifies the trustmanager algorithm of FTPS.

● jrs.ftpsTransMode
Constant: jet.cs.util.APIConst.TAG_FTPS_TRANS_MODE
Description: Specifies the transfer mode of FTPS.

● jrs.ftpsTSType
Constant: jet.cs.util.APIConst.TAG_FTPS_TS_TYPE
Description: Specifies the truststore type of FTPS.

● jrs.ftpsTSFile
Constant: jet.cs.util.APIConst.TAG_FTPS_TS_FILE
Description: Specifies the truststore file of FTPS.
Possible values: truststore_file_name

● jrs.ftpsTSPsd
Constant: jet.cs.util.APIConst.TAG_FTPS_TS_PSD
Description: Specifies the truststore password of FTPS.

● jrs.sftpC2SCmpA
Constant: jet.cs.util.APIConst.TAG_SFTP_C2S_CmpA
Description: Specifies the C2S compression algorithms of SFTP/SCP.

● jrs.sftpC2SCphA
Constant: jet.cs.util.APIConst.TAG_SFTP_C2S_CphA
Description: Specifies the C2S cipher algorithms of SFTP/SCP.

● jrs.sftpC2SLang
Constant: jet.cs.util.APIConst.TAG_SFTP_C2S_Lang
Description: Specifies the C2S language of SFTP/SCP.

● jrs.sftpC2SMA
Constant: jet.cs.util.APIConst.TAG_SFTP_C2S_MA
Description: Specifies the C2S MAC algorithms of SFTP/SCP.

● jrs.sftpHKAlgs
Constant: jet.cs.util.APIConst.TAG_SFTP_HKAlgs
Description: Specifies the host key algorithms of SFTP/SCP.

● jrs.sftpKexAlgs
Constant: jet.cs.util.APIConst.TAG_SFTP_KexAlgs
Description: Specifies the kex algorithms of SFTP/SCP.

● jrs.sftpKH
Constant: jet.cs.util.APIConst.TAG_SFTP_KNOWNHOSTS
Description: Specifies the knownhosts file of SFTP/SCP.

● jrs.sftpS2CCmpA
Constant: jet.cs.util.APIConst.TAG_SFTP_S2C_CmpA
Description: Specifies the s2c compression algorithms of SFTP/SCP.

● jrs.sftpS2CCphA
Constant: jet.cs.util.APIConst.TAG_SFTP_S2C_CphA
Description: Specifies the S2C cipher algorithms of SFTP/SCP.

● jrs.sftpS2CLang
Constant: jet.cs.util.APIConst.TAG_SFTP_S2C_Lang
Description: Specifies the S2C language of SFTP/SCP.

● jrs.sftpS2CMA
Constant: jet.cs.util.APIConst.TAG_SFTP_S2C_MA
Description: Specifies the S2C MAC algorithms of SFTP/SCP.

● jrs.sftpSHKC
Constant: jet.cs.util.APIConst.TAG_SFTP_SHKC
Description: Specifies whether to check the strict host key.
Possible values: {yes, no}

● jrs.ftp_param_validation
Constant: jet.cs.util.APIConst.CMD_FTP_PARAM_VALIDATION
Description: Specifies the command of checking the validation of FTP connection options.
Possible values: The following four properties
❍ TAG_FTP_CONNECTION_FAILED
Constant: jet.cs.util.APIConst.TAG_FTP_CONNECTION_FAILED
Description: The connection cannot be created because the host name/IP or port is not valid.
Possible values: {100} (the only value)

❍ TAG_FTP_CONNECTION_IS_OK
Constant: jet.cs.util.APIConst.TAG_FTP_CONNECTION_IS_OK
Description: The connection is valid.
Possible values: {200} (the only value)

❍ TAG_FTP_NO_PERMISSION
Constant: jet.cs.util.APIConst.TAG_FTP_NO_PERMISSION
Description: The connection can be built but the user name or password is not valid.
Possible values: {300} (the only value)

❍ TAG_FTP_INVALID_FOLDER
Constant: jet.cs.util.APIConst.TAG_FTP_INVALID_FOLDER
Description: The connection can be built but the directory where the report result files reside
cannot be found.
Possible values: {400} (the only value)

● jrs.ftpRst
Constant: jet.cs.util.APIConst.TAG_TO_FTP_RST
Description: Specifies whether the FTP has RST (JReport result) format.
Possible values: {true, false}
❍ jrs.ftpRstFn
Constant: jet.cs.util.APIConst.TAG_FTP_RST_FILE
Description: Specifies the file name of the FTP RST result.
Possible values: FTPrstFileName

❍ jrs.ftpZipRst
Constant: jet.cs.util.APIConst.TAG_FTP_ZIP_RESULT
Description: Specifies whether to zip the FTP RST result.
Possible values: {true, false}

❍ jrs.ftpRstPcs
Constant: jet.cs.util.APIConst.TAG_FTP_RST_PRECISION
Description: Indicates the precision level of the RST result.
Possible values: PRECISION_ANY, PRECISION_LOW, PRECISION_HIGH

● jrs.ftpHtml
Constant: jet.cs.util.APIConst.TAG_TO_FTP_HTML
Description: Specifies whether the FTP has HTML format.
Possible values: {true, false}
❍ jrs.ftpHtmlFn
Constant: jet.cs.util.APIConst.TAG_FTP_HTML_FILE
Description: Specifies the file name of the FTP HTML format.
Possible values: ftpHtmlFilename

❍ jrs.ftpHtmNoM
Constant: jet.cs.util.APIConst.TAG_FTP_NO_MARGIN_HTML
Description: Specifies if no margin is set in the HTML page.
Possible values: {true, false}

❍ jrs.ftpHtmMF
Constant: jet.cs.util.APIConst.TAG_FTP_IS_MULTI_FILES
Description: Specifies whether the HTML result is generated to multiple files or to one file.
Possible values: {true, false}
■ jrs.ftpHtmEC
Constant: jet.cs.util.APIConst.TAG_FTP_EMBEDDED_CSS
Description: Specifies whether to embed the cascading style sheet (CSS) in the exported HTML
files when generating multiple files. When false, the .css file will be generated individually.
Possible values: {true, false}

■ jrs.ftpHtmHL
Constant: jet.cs.util.APIConst.TAG_FTP_HAS_HYPERLINK
Description: Specifies whether the hyperlink is generated.
Possible values: {true, false}

■ jrs.ftpHtmPN
Constant: jet.cs.util.APIConst.TAG_FTP_HAS_PAGE_NUMBER
Description: Specifies whether the page number is generated.
Possible values: {true, false}

❍ jrs.ftpHtmUS
Constant: jet.cs.util.APIConst.TAG_FTP_USE_SCOPE
Description: Specifies whether to use the Scope attribute or not.
Possible values: {true, false}

❍ jrs.ftpHtmUSO
Constant: jet.cs.util.APIConst.TAG_FTP_USE_SECTION508_OUTPUT
Description: Specifies whether to use Section 508 compliant output or not.
Possible values: {true, false}

❍ jrs.ftpHtmUHT
Constant: jet.cs.util.APIConst.TAG_FTP_USE_HTML_TABLE
Description: Specifies whether to use HTML data table or not.
Possible values: {true, false}

❍ jrs.ftpHtmRFS
Constant: jet.cs.util.APIConst.TAG_FTP_RELATIVE_FONT_SIZE
Description: Specifies whether to use relative font size to generate the HTML page.
Possible values: {true, false}

❍ jrs.ftpHtmRsl
Constant: jet.cs.util.APIConst.TAG_FTP_HTML_RESOLUTION
Description: Specifies the resolution of the HTML page, in dpi.
Possible values: 96

❍ jrs.ftpHtmWB
Constant: jet.cs.util.APIConst.TAG_FTP_WEB_BROWSER
Description: Specifies the web browser for which the HTML result adapts.
Possible values: {0, 1}. 0 - IE or Chrome, 1 - Firefox

❍ jrs.ftpHtmDD
Constant: jet.cs.util.APIConst.TAG_FTP_DRILLDOWN
Description: Specifies whether the HTML page can be drilled down.
Possible values: {true, false}

❍ jrs.ftpHtmFC
Constant: jet.cs.util.APIConst.TAG_FTP_FORMAT_CHART
Description: Specifies the image format in HTML file.
Possible values: {0, 1, 2, 3}. 0 - Auto-select, 1 - GIF, 2 - JPEG, 3 - PNG

❍ jrs.ftpHtmICA
Constant: jet.cs.util.APIConst.TAG_FTP_IS_CHART_APPLET
Description: Specifies whether the chart in HTML file is an applet.
Possible values: {true, false}
❍ jrs.ftpHtmTO
Constant: jet.cs.util.APIConst.TAG_FTP_TEXT_OVERFLOW
Description: Specifies the text overflow type.
Possible values: {0, 1}. 0 - HIDDEN, 1 - VISIBLE

❍ jrs.ftpHtmPcs
Constant: jet.cs.util.APIConst.TAG_FTP_HTML_PRECISION
Description: Indicates the precision level of the HTML result.
Possible values: {PRECISION_ANY, PRECISION_LOW, PRECISION_HIGH}

● jrs.ftpPdf
Constant: jet.cs.util.APIConst.TAG_TO_FTP_PDF
Description: Specifies whether the FTP has PDF format.
Possible values: {true, false}
❍ jrs.ftpPdfFn
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_FILE
Description: Specifies the file name of FTP PDF format.
Possible values: ftppdffilename

❍ jrs.ftpPdfNoM
Constant: jet.cs.util.APIConst.TAG_FTP_NO_MARGIN_PDF
Description: Specifies if no margin is set in the PDF page.
Possible values: {true, false}

❍ jrs.ftpPdfIsC
Constant: jet.cs.util.APIConst.TAG_FTP_IS_COMPRESS_PDF
Description: Specifies whether to compress image in PDF file.
Possible values: {true, false}
■ jrs.ftpPdfCIm
Constant: jet.cs.util.APIConst.TAG_FTP_COMPRESS_IMAGE_PDF
Description: Specifies the image compress ratio in PDF file. It is measured by percentage.
Possible values: 20

❍ jrs.ftpPdfDD
Constant: jet.cs.util.APIConst.TAG_FTP_DRILLDOWN_PDF
Description: Specifies whether drilldown is enabled in the PDF page.
Possible values: {true, false}

❍ jrs.ftpPdfEcr
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_ENCRYPT
Description: Specifies whether PDF encrypt is enable or not.
Possible values: {true, false}
■ jrs.ftpPdfCmp
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_COMPATIBITLY
Description: Specifies the PDF compatibility.
Possible values: {0, 1}. 0 - Acrobat 3.0 and later, 1 - Acrobat 5.0 and later

■ jrs.ftpPdfPwd
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_PWD
Description: Specifies the PDF password.
Possible values: 12345678

■ jrs.hasftpPdfPmP
Constant: jet.cs.util.APIConst.TAG_HAS_FTP_PDF_PERMIS_PASW
Description: Specifies whether to set PDF permission password.
Possible values: {true, false}

■ jrs.ftpPdfPmP
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_PERMIS_PASW
Description: Specifies the PDF permission password.

■ jrs.ftpPdfPrt
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_PRINTALLOW
Description: Specifies the PDF print allow value.
Possible values: {0, 1, 2}. 0 - none, 1 - low resolution (150 dpi), 2 - high resolution

■ jrs.ftpPdfChg
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_CHANGALLOW
Description: Specifies the PDF change allow value.
Possible values: {0, 1, 2, 3, 4}. 0 - none, 1 - inserting, deleting and rotating pages, 2 - filling in
form fields and signing, 3 - commenting filling in form fields and signing, 4 - any except
extracting pages

■ jrs.ftpPdfECp
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_CHECK_ENABLECOPY
Description: Specifies whether to be able to copy the PDF page.
Possible values: {true, false}

■ jrs.ftpPdfEAc
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_CHECK_ENABLEACCESS
Description: Specifies whether can access the PDF page.
Possible values: {true, false}

❍ jrs.ftpPdfSgn
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_SIGN
Description: Specifies whether to be able to sign the PDF page.
Possible values: {true, false}
■ jrs.ftpPdfSM
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_SIGN_METHOD
Description: Specifies the PDF digital sign method.
Possible values: {0, 1, 2}. 0 - Windows Certificate Security, 1 - Default Certificate Security, 2 -
VeriSign Digital Signatures

■ jrs.ftpPdfDP
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_DIGITAL_PATH
Description: Specifies the PDF digital sign path.
Possible values: digitalpath

■ jrs.ftpPdfPsw
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_USER_PASW
Description: Specifies the password for the digital ID file.

■ jrs.ftpPdfDR
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_DOCUMENT_REASON
Description: Specifies the reason for signing the document.
Possible values: SignReason

■ jrs.ftpPdfEdt
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_EDIT_YOURSELF
Description: Edits the reason for signing the document.
■ jrs.ftpPdfLoc
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_LOCATION
Description: Specifies the PDF location message.
Possible values: pdffilelocation

■ jrs.ftpPdfCnt
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_CONTACT_INF
Description: Specifies the PDF contact information.
Possible values: contactname

❍ jrs.ftpPdfPM
Constant: jet.cs.util.APIConst.TAG_FTP_PRINT_MODE_PDF
Description: Specifies whether it is for print mode.
Possible values: {true, false}

❍ jrs.ftpPdfToc
Constant: jet.cs.util.APIConst.TAG_FTP_TOC_PDF
Description: Specifies whether the PDF has TOC.
Possible values: {true, false}

❍ jrs.ftpPdfGTp
Constant: jet.cs.util.APIConst.TAG_FTP_GIF_TRANSPARENT_PDF
Description: Specifies whether the figure is transparent or not.
Possible values: {true, false}

❍ jrs.ftpPdfPcs
Constant: jet.cs.util.APIConst.TAG_FTP_PDF_PRECISION
Description: Indicates the precision level of PDF.
Possible values: {PRECISION_ANY, PRECISION_LOW, PRECISION_HIGH}

● jrs.ftpExl
Constant: jet.cs.util.APIConst.TAG_TO_FTP_EXCEL
Description: Specifies whether the FTP has Excel format.
Possible values: {true, false}
❍ jrs.ftpExlFn
Constant: jet.cs.util.APIConst.TAG_FTP_EXCEL_FILE
Description: Specifies the file name of FTP Excel format.
Possible values: ftpexcelfilename

❍ jrs.ftpExlWW
Constant: jet.cs.util.APIConst.TAG_FTP_EXCEL_WORDWRAP
Description: Specifies whether the Excel has wordwrap format.
Possible values: {true, false}

❍ jrs.ftpExlLyt
Constant: jet.cs.util.APIConst.TAG_FTP_EXCEL_LAYOUT
Description: Specifies whether to use new Excel layout.
Possible values: {true, false}

❍ jrs.ftpExl2k
Constant: jet.cs.util.APIConst.TAG_FTP_EXCEL2000
Description: Specifies whether the Excel has Excel 2000 format.
Possible values: {true, false}

❍ jrs.ftpExlPcs
Constant: jet.cs.util.APIConst.TAG_FTP_EXCEL_PRECISION
Description: Indicates the precision level of Excel.
Possible values: {PRECISION_ANY, PRECISION_LOW, PRECISION_HIGH}

❍ jrs.ftpExlAdv
Constant: jet.cs.util.APIConst.TAG_FTP_EXCEL_ADVANCED
Description: Specifies whether the advanced Excel setting is enabled or not.
Possible values: {true, false}

❍ jrs.ftpExlHS
Constant: jet.cs.util.APIConst.TAG_FTP_HAS_SHAPES
Description: Specifies whether to include the drawing objects in the exported Excel file, such as
line, oval, and box.
Possible values: {true, false}

❍ jrs.ftpExlPrH
Constant: jet.cs.util.APIConst.TAG_FTP_PRINT_HEADER
Description: whether to include page header when printing the exported Excel file.
Possible values: {true, false}

❍ jrs.ftpExlPrF
Constant: jet.cs.util.APIConst.TAG_FTP_PRINT_FOOTER
Description: whether to include page footer when printing the exported Excel file.
Possible values: {true, false}

❍ jrs.ftpExlPGL
Constant: jet.cs.util.APIConst.TAG_FTP_PRINT_GRIDLINES
Description: whether to include gridlines when printing the exported Excel file.
Possible values: {true, false}

● jrs.ftpTxt
Constant: jet.cs.util.APIConst.TAG_TO_FTP_TXT
Description: Specifies whether the FTP has TXT format.
Possible values: {true, false}
❍ jrs.ftpTxtFn
Constant: jet.cs.util.APIConst.TAG_FTP_TEXT_FILE
Description: Specifies the file name of FTP TXT format.
Possible values: FtpTextFileName

❍ jrs.ftpTxtCmp
Constant: jet.cs.util.APIConst.TAG_FTP_TXT_COMPRESS
Description: Specifies whether to compress the published text file.
Possible values: {true, false}

❍ jrs.ftpTxtWin
Constant: jet.cs.util.APIConst.TAG_FTP_TXT_WINDOWS
Description: Specifies whether to apply "\r\n" for OS390 and Windows or "\n" for UNIX.
Possible values: {true, false}

❍ jrs.ftpTxtHF
Constant: jet.cs.util.APIConst.TAG_FTP_HASHEADFOOT
Description: Specifies whether to generate the page header or footer.
Possible values: {true, false}

❍ jrs.ftpTxtIDl
Constant: jet.cs.util.APIConst.TAG_FTP_TEXT_IS_DELIMITER
Description: Specifies whether the delimiter is tab or CSV.
Possible values: {TAG_FTP_IS_CSV, TAG_FTP_IS_TAB}
■ jrs.ftpTxtCsv
Constant: jet.cs.util.APIConst.TAG_FTP_IS_CSV
Description: Specifies whether the result file is CSV format.
Possible values: {true, false}

■ jrs.ftpTxtTab
Constant: jet.cs.util.APIConst.TAG_FTP_IS_TAB
Description: Specifies whether the delimiter is tab char.
Possible values: {true, false}

❍ jrs.ftpTxtDlm
Constant: jet.cs.util.APIConst.TAG_FTP_DELIMITER
Description: Specifies a delimiter which will be used in standard data format.
Possible values: "", " "

❍ jrs.ftpTxtNrm
Constant: jet.cs.util.APIConst.TAG_FTP_IS_NORMAL_TEXT
Description: Specifies whether the text file is a standard data format or not.
Possible values: {true, false}

❍ jrs.ftpTxtPcs
Constant: jet.cs.util.APIConst.TAG_FTP_TEXT_PRECISION
Description: Indicates the precision level of Text.
Possible values: {RECISION_ANY, PRECISION_LOW, PRECISION_HIGH}

❍ jrs.ftpTxtRes
Constant: jet.cs.util.APIConst.TAG_FTP_RESOLUTION
Description: Specifies whether to set resolution of text file.
Possible values: {true, false}

❍ jrs.ftpTxtQM
Constant: jet.cs.util.APIConst.TAG_FTP_IS_QUOTEMARK
Description: Specifies to use quote marks in the text file.
Possible values: {true, false}

❍ jrs.ftpTxtRpt
Constant: jet.cs.util.APIConst.TAG_FTP_IS_REPEAT
Description: Specifies whether the value of the previous cell in the same column will be used when
a cell in the exported CSV text has no value.
Possible values: {true, false}

❍ jrs.ftpTxtChH
Constant: jet.cs.util.APIConst.TAG_FTP_CHAR_HEIGHT
Description: Specifies the user defined character height.
Possible values: {true, false}

❍ jrs.ftpTxtChW
Constant: jet.cs.util.APIConst.TAG_FTP_CHAR_WIDTH
Description: Specifies the user defined character width.
Possible values: {true, false}

● jrs.ftpRtf
Constant: jet.cs.util.APIConst.TAG_TO_FTP_RTF
Description: Specifies whether the FTP has RTF format.
Possible values: {true, false}
❍ jrs.ftpRtfFn
Constant: jet.cs.util.APIConst.TAG_FTP_RTF_FILE
Description: Specifies the file name of FTP RTF format.
Possible values: FtpRtfFileName

❍ jrs.ftpRtfNoM
Constant: jet.cs.util.APIConst.TAG_FTP_NO_MARGIN_RTF
Description: Specifies whether there is no margin in the RTF file.
Possible values: {true, false}

❍ jrs.ftpRtfBE
Constant: jet.cs.util.APIConst.TAG_FTP_BEST_EDITING_RTF
Description: Specifies whether to apply flow layout when exporting the report to RTF.
Possible values: {true, false}

❍ jrs.ftpRtfPcs
Constant: jet.cs.util.APIConst.TAG_FTP_RTF_PRECISION
Description: indicate the precision level of RTF.
Possible values: {PRECISION_ANY, PRECISION_LOW, PRECISION_HIGH}

● jrs.ftpXml
Constant: jet.cs.util.APIConst.TAG_TO_FTP_XML
Description: Specifies whether the FTP has XML format.
Possible values: {true, false}
❍ jrs.ftpXmlFn
Constant: jet.cs.util.APIConst.TAG_FTP_XML_FILE
Description: Specifies the file name of FTP XML format.
Possible values: FtpXmlFileName

❍ jrs.ftpXmlIOD
Constant: jet.cs.util.APIConst.TAG_FTP_IS_ONLY_DATA
Description: If true, the exported XML file will only contain the database column information. The
exported XML schema file will only contain the structure information of the report. If false, the
exported XML file will also contain elements controlled by formulas, and the exported XML schema
file will contain all the detailed information from the report, including all the property values of
each report object.
Possible values: {true, false}

❍ jrs.ftpXmlXsd
Constant: jet.cs.util.APIConst.TAG_FTP_XSDFILE
Description: Specifies the directory and the name of an existing XML schema (.xsd) file.
Possible values: FtpXsdFileName

❍ jrs.ftpXmlPcs
Constant: jet.cs.util.APIConst.TAG_FTP_XML_PRECISION
Description: Indicates the precision level of XML.
Possible values: {PRECISION_ANY, PRECISION_LOW, PRECISION_HIGH}

● jrs.ftpPs
Constant: jet.cs.util.APIConst.TAG_TO_FTP_PS
Description: Specifies whether the FTP has PostScript format.
Possible values: {true, false}
❍ jrs.ftpPsFn
Constant: jet.cs.util.APIConst.TAG_FTP_PS_FILE
Description: Specifies the file name of FTP PostScript format.
Possible values: FtpPsfilename

❍ jrs.ftpPsNoM
Constant: jet.cs.util.APIConst.TAG_FTP_NO_MARGIN_PS
Description: Specifies whether there is no margin in the PostScript file.
Possible values: {true, false}

❍ jrs.ftpPsPcs
Constant: jet.cs.util.APIConst.TAG_FTP_PS_PRECISION
Description: Indicates the precision level of PostScript.
Possible values: {PRECISION_ANY, PRECISION_LOW, PRECISION_HIGH}

● jrs.ftp_end
Constant: jet.cs.util.APIConst.TAG_FTP_END
Description: Specifies the JReport FTP delimiter for multiple FTPs.

● jrs.ftpIsDht
Constant: jet.cs.util.APIConst.TAG_FTP_IS_DHTML
Description: Specifies whether to show DHTML page.
Possible values: {true, false}
Notification properties
When scheduling report sets via URL, the notification properties are as follows:
● jrs.notification_emails
Constant: jet.cs.util.APIConst.TAG_NOTIFICATION_EMAILS
Description: Specifies the e-mail notification list for successful/failed scheduled tasks.

● jrs.success_notify
Constant: jet.cs.util.APIConst.TAG_SUCCESS_NOTIFY
Description: Specifies to send e-mail notification for successful report sets.
Possible values: {true, false}. The default is false.

● jrs.fail_notify
Constant: jet.cs.util.APIConst.TAG_FAIL_NOTIFY
Description: Specifies to send e-mail notification for failed report sets.
Possible values: {true, false}. The default is false.
Style group properties
When scheduling report sets via URL, the style group properties are as follows:
● jrs.has_style
Constant: jet.cs.util.APIConst.TAG_HAS_STYLE
Description: Specifies to enable the style group that has been set for the report set.
Possible values: {true, false}. The default is false.

● jrs.style_group
Constant: jet.cs.util.APIConst.TAG_STYLE_GROUP
Description: Specifies the style group.
Encrypting PDF properties
The following are properties to encrypt the PDF format file:
● jrs.pdf_encrypt
Constant: jet.cs.util.APIConst.TAG_PDF_ENCRYPT
Description: Specifies whether to enable PDF encryption.
Possible values: {true, false}

● jrs.pdf_compatibitly
Constant: jet.cs.util.APIConst.TAG_PDF_COMPATIBITLY
Description: Specifies the encryption type to encrypt a PDF document.
Possible values: {0, 1}. 0 - Acrobat 3.0 and later, 1 - Acrobat 5.0 and later.

● jrs.password_pdf
Constant: jet.cs.util.APIConst.TAG_PASSWORD_PDF
Description: Specifies the password to open the PDF document.

● jrs.has_pdf_permis_pasw
Constant: jet.cs.util.APIConst.TAG_HAS_PDF_PERMIS_PASW
Description: Specifies whether to use a permission password to prevent others from printing and
editing the document.
Possible values: {true, false}

● jrs.pdf_permis_pasw
Constant: jet.cs.util.APIConst.TAG_PDF_PERMIS_PASW
Description: Specifies the permission password.

● jrs.pdf_printallow
Constant: jet.cs.util.APIConst.TAG_PDF_PRINTALLOW
Description: Specifies the printing quality for the PDF document.
Possible values: {0, 1, 2}. 0 - none, 1 - low resolution (150 dpi), 2 - high resolution.

● jrs.pdf_changallow
Constant: jet.cs.util.APIConst.TAG_PDF_CHANGALLOW
Description: Specifies the editing actions that are permitted in the PDF file.
Possible values: {0, 1, 2, 3, 4}. 0 - none. 1 - inserting, deleting and rotating pages, 2 - filling in form
fields and signing, 3 - commenting filling in form fields and signing, 4 - any except extracting pages.

● jrs.pdf_enablecopy
Constant: jet.cs.util.APIConst.TAG_PDF_CHECK_ENABLECOPY
Description: Specifies whether to enable selecting and copying the contents of the PDF document.
Possible values: {true, false}

● jrs.pdf_enableaccess
Constant: jet.cs.util.APIConst.TAG_PDF_CHECK_ENABLEACCESS
Description: Specifies whether to allow visually impaired users to read the PDF document with
window readers. This property is available only if the encryption type is set to Acrobat 5.0 or later
Acrobat version.
Possible values: {true, false}
Appendix 8: DHTML tag library
JReport DHTML provides a DHTML tag library, which includes custom tags such as mainpage, head, toc
and report. These custom tags can be used to componentize JSP pages, increasing productivity and
encapsulating recurring tasks so that they can be reused across more than one application.
For technique topics on the JSP tag library, references can be found in JSP online documentation on the
Sun Microsystems website http://www.sun.com.

DHTML tags are classified as below:


● Embedded tags

● Component tags

● Action tags

Before you can use the DHTML tag library in JReport Server, you should firstly copy the file
Jinfonet_DHTML_taglib.tld in <intall_root>\public_html\dhtmljsp to the folder where your JSP
pages are located.
And if you want to use the DHTML tag library in any web server, you should first:
1. Add JRWebDesign.jar in <install_root>\lib to the war file you want to publish to the web
server.

2. Add Jinfonet_DHTML_taglib.tld in <intall_root>\public_html\dhtmljsp to the war file in which


your JSP pages reside, or alternatively, you can use web.xml to specify a path. For example,
<taglib>
<taglib-uri>Jinfonet_DHTML_taglib</taglib-uri>
<taglib-location>/WEB-INF/Jinfonet_DHTML_taglib.tld</taglib-location>
</taglib>

Embedded tags
dhtml
The dhtml tag is a container for the other tags, and it checks user information, runs a report set, and
imports resources for the other tags. All tags to be used should be included in this tag. It contains the
following attributes:

Attribute Description
id - string Specifies the ID of the tag.
tagsetid - string Specifies the ID of the tag set. This attribute is required.
user - string The user name for logging in JReport Server.
password - string The user password for logging in JReport Server.
report - string The name of the report set the user wants to run. This attribute is required.
catalog - string The name of the catalog for the report set. This attribute is required.
report_path - string The path of the report set.
report_params - string All parameters (name/value pair) that are required for running the report set,
and the parameters are separated by & character.
catalog _version - The catalog version. Default value is 1.
integer

mainpage
The mainpage tag displays the DHTML page in an IFrame. It contains the following attributes:

Attribute Description
width=length The width of the frame. It can be a relative or absolute
value, e.g. 70% or 1000px.
height=length The height of the frame. It can be a relative or absolute
value, e.g. 70% or 1000px.
top=length The top position of the frame, measured in pixels.
left=length The left position of the frame, measured in pixels.
align=[top/middle/|bottom/left/right] Specifies where the frame appears in the web browser
window.
● top: Aligns the frame to the top of the web browser
window.

● middle: Aligns the frame to the middle of the web


browser window.

● bottom: Aligns the frame to the bottom of the web


browser window.

● left: Aligns the frame to the left of the web browser


window.

● right: Aligns the frame to the right of the web


browser window.

frameborder=[1/0] Sets or retrieves whether to display the frame border. Use


1 to show the frame border, or 0 to hide it.
scrolling=[yes/no/auto] Sets or retrieves whether the frame can be scrolled.
● auto: Default. The web browser determines whether
scroll bars are necessary.

● yes: The frame can be scrolled.

● no: The frame cannot be scrolled.

id - string Specifies the ID of the frame.


name - string Specifies the frame name.
position=[static/absolute/relative] Sets or retrieves the type of positioning used for the
object.
● static: Default. Object has no special positioning; it
follows the layout rules of HTML.

● absolute: Object is positioned relative to parent


element's position—or to the body object if its parent
element is not positioned—using the top and left
properties.

● relative: Object is positioned according to the normal


flow, and then offset by the top and left properties.

controls=[userInfoBar|rptSetBar|toolbar| All components that the user wants to display. The user
Toc|Dso|report|toolbox|linkbar|all] can set any one or more of them, or use all to display all
the components.
Component tags
toc
The toc tag is for displaying the TOC Browser.
toolbar
The toolbar tag is for displaying the toolbar.
resview
The resview tag is for displaying the Resource View panel.
toolbox
The toolbox tag is for displaying the Toolbox.
button
The button tag is for displaying buttons which match toolbar buttons but they can be placed anywhere
in JReport Viewer.

Attribute Description
buttonid Identifies the specific button. You can obtain a constant Java class jet.web.dhtml.
DHTMLConstant from the package JRWebDesign.jar located at <install_root>\lib. In
this class, those constants with a prefix "TOOLBAR_" and of int data type represent the
buttonid, and you can then know the buttonid according to the constant name. For
example, <jinfonet:button buttonid="<%=String.valueOf(DHTMLConstant.
TOOLBAR_NEW)%>"> will display the New button. This attribute is required.

toolboxbutton
The toolboxbutton tag is for displaying buttons which match Toolbox buttons but they can be placed
anywhere in JReport Viewer.

Attribute Description
component_type Identifies the specific button. These constants are available for component_type:
"Label", "Image", "Banded Object", "Table", "Crosstab", and "Chart". For example,
<jinfonet:toolboxbutton component_type="Banded Object"/> will display the
Banded Object button. This attribute is required.

report
The report tag is for DHTML report browser.

Attribute Description
width=length The width of the report browser, measured in pixels. Use -1 to set it
to 100% of Internet Explorer window's width. In other web
browsers, -1 means 650 pixels.
height=length The height of the report browser, measured in pixels. Use -1 to set
it to 100% of Internet Explorer window's height. In other web
browsers, -1 means 600 pixels. This attribute is required.
top=length The top position of the report browser, measured in pixels.
left=length The left position of the report browser, measured in pixels.
id Specifies the ID of the tag.
class_name Retrieves the class of the object.
style Sets a style for the object.
controls=[rptSetBar|linkbar|all] Specifies whether to display the components. The user can set any
one or more of them, or use all to display all the components.

Action tags
sortform
The sortform tag will generate a form for sorting the data. It contains the following attributes:

Attribute Description
id - string Specifies the ID of the tag. This attribute is required.
method - string Sets or retrieves how to send the form data to the server.
● get: Appends the arguments to the Form Action URL and opens it as if it were an
anchor.

● post: Sends the data through an HTTP post transaction.

forward - string Specifies the page to redirect. If it starts with /, the root path refers to
<install_root>\public_html; if with no /, the root refers to <install_root>
\public_html\dhtmljsp.
target - string Sets the window or frame at which to target content.
applyto - string Specifies the instance name of the component on which the sorting will be based.
This attribute is required.

filterform
The filterform tag will generate a form for filtering the data. It contains the following attributes:

Attribute Description
id - string Specifies the ID of the tag. This attribute is required.
method - string Sets or retrieves how to send the form data to the server.
● get: Appends the arguments to the Form Action URL and opens it as if it were an
anchor.

● post: Sends the data through an HTTP post transaction.

forward - string Specifies the page to redirect. If it starts with /, the root path refers to
<install_root>\public_html; if with no /, the root refers to <install_root>
\public_html\dhtmljsp.
target - string Sets the window or frame at which to target content.
applyto - string Specifies the instance name of the component on which the sorting will be based.
This attribute is required.

column
The column tag will generate a list to provide sorting manners for the sortform tag or field values for
the filterform tag. It contains the following attributes:

Attribute Description
id - string Specifies the ID of the tag. This attribute is required.
bind_column - Specifies the column by which to sort or filter. This attribute is required.
string
logic - string Specifies the relationship between the filter criterion and the next one. Its value can
be "AND" or "OR". Only for filterform.
maxsize - Specifies the maximum number of the items in the list, only for filterform.
integer
parent_id - Specifies the ID of the sortform or filterform tag which includes the column tag. This
string attribute is required.
class_name - Specifies the class name.
string
style - string Specifies the style of the list.
width - string Specifies the width of the list.
top - integer Specifies the top position of the list.
left - integer Specifies the left position of the list.

Reference: For examples about the tags, refer to the file ExampleCodeForTags.html in
<install_root>\help\server\en\samples, where some sample code for different tags is provided. To
test the examples, save the code to tagtest.jsp and then put it in <install_root>\public_html
\dhtmljsp.

You might also like