1.2. Architecture & Installation

There are seven main components to EspressReport, namely: Report Designer, Chart Designer, Report API, Report Viewer, Page Viewer, EspressManager, and Scheduler.

Report Designer:

Report Designer is a GUI tool that allows users to build reports in a point-and-click environment. Included with the Report Designer are interfaces to access data, query databases, and design charts. The Report Designer can run as a client application or in a client-server configuration with the Designer loaded as an applet through a Web browser.

Chart Designer:

Chart Designer is a GUI tool that allows users to build and design charts in a point-and-click environment. Launched from within Report Designer, it allows users to create charts to be embedded within reports or stand-alone charts to be run using the Report API.

Report API:

Report API is an easy-to-use application programming interface that allows users to imbed reporting functionality into their applications, servlets, or JSPs, either on the server-side or on the client-side. It can run on most platforms with few or no changes because it is pure Java. Any and every part of the report is customizable using the API, giving users full control over report formatting at run-time. Reports can be created and deployed with just a few lines of code.

Report Viewer:

Report Viewer is an integrated applet that allows users to view and interact with reports. The applet shows reports in a paginated format, giving users the opportunity to navigate around reports by using a pop-up menu. Also, report templates can be directly hyperlinked together by using the applet. EspressReport can generate HTML pages with the applet imbedded, without requiring any coding.

Page Viewer:

Page Viewer is an integrated applet like Report Viewer that uses page serving technology. With Page Viewer, pages in the report are only sent to the client when requested. This allows users to view or preview large reports.

EspressManager:

EspressManager serves as the “back end” to the Report Designer and Scheduler interfaces. It supports Report Designer running as an applet. EspressManager handles the data access and file I/O activities on the server-side. In addition, EspressManager provides database connection and data buffering. EspressManager also runs the scheduling process on the server-side, executing the reports according to the user-defined jobs. It can run as an application process on the server or be deployed as a servlet within an application server.

Scheduler:

The Scheduler is a small interface that runs in conjunction with EspressManager. It allows users to schedule reports and other events, as well as manage scheduled tasks.

1.2.1. EspressReport Architecture

EspressReport has a number of different configurations in which it can run both at design-time, and at run-time. At design-time the Report Designer GUI interface, which includes data access tools and charting tools, can be loaded as an application on a client machine or as an applet in a client server architecture. The following diagram illustrates EspressReport running with the Report Designer at design-time:

EspressReport Designer Architecture

When Report Designer is running, the EspressManager component runs on the server-side. It can run either as an application process or as a servlet deployed within an application server/servlet runner. The EspressManager performs the data access and the file I/O which is prevented by the client applet due to security restrictions. The EspressManager also provides connection and data buffering for database connections, as well as concurrency control for a multi-user development environment. The EspressManager must be run in conjunction with the Report Designer.

At run-time, the EspressManager does not need to be running. EspressReport is designed to run embedded within other application environment. It can have a minimal deployment of the API classes and report template files. The following diagram illustrates EspressReport running in a servlet/JSP environment:

EspressReport in a Servlet Environment

When running in an application server, the Report API can be used to generate reports within servlets and JSPs and stream the generated reports to the client browser. Clients can also view reports by loading the Report Viewer applet or the Page Viewer applet.

Report generation can be handled on demand, triggered by application processes, or scheduled. A Scheduler interface is also provided with EspressReport. EspressManager must be running in order to run the Scheduler.

In addition to running in a client-server environment, EspressReport can be run in a thick-client application. The Report API can be used in conjunction with the Viewer and/or Page Viewer to show or generate reports in an application interface. In this configuration, EspressManager does not need to be running, as the whole process can be contained on the client. Note that this is not the case for applets.

1.2.2. Installation

There are four versions of EspressReport installer available: one for Windows, one for Unix, one for Mac OS X, and a pure Java version.

Windows Version

To start the Windows installer, run the installER.exe file and the installer will launch.

Unix Version

To start the Unix installer, run the installER.bin file, and the installer will launch.

Mac OS X Version

To start the Mac installer, double click the InstallER.zip file to extract the InstallER.app file. Double-click on InstallER.app, and the installer will launch.

Pure Java Version

To start the pure Java installer, a Java Virtual Machine, the equivalent of Java 1.2 or higher, must already be installed on the machine where EspressReport is to be installed. Make sure that the JVM is included in your path (or move the installER.jar file to the same directory as the JVM). From a command prompt navigate to the directory where you have placed the installER.jar file, and type the following command: java -jar installER.jar. The installer will then launch.

Once the installation program has launched and you agree to the license agreement, the first option asks you to specify the directory into which you would like to install EspressReport.

The default location is \EspressReport\. You can specify a new directory or browse to one by clicking the Choose… button.

Click to view larger image

Choose Location Dialog

Once you choose an installation directory, the next option asks you whether you would like to install the evaluation or licensed version.

Click to view larger image

Install Version Dialog

If you elect to install a licensed version, the next dialog will prompt you to enter your license key and to verify the host name of the machine on which you're installing EspressReport.

Click to view larger image

Enter License Key Dialog

After you have entered the information, the installer will attempt to register the license key with Quadbase. If registration fails, you will be unable to continue installing the release version of EspressReport. You will have the option to continue installing the evaluation version. After the installation completes, you can register your key online at http://www.quadbase.com/register/, or contact Quadbase Sales for additional help.

[Note]Note

After the installation completes, the release version will only run for the hostname specified in this dialog, so double-check to make sure the host name is correct. You can also use the IP address of the machine if you prefer.

The next option allows you to specify a Java Virtual Machine to use when running EspressReport. (Since it is a Java program, you will need a JVM to run it.)

Click to view larger image

Choose JVM Dialog

The dialog prompts you to select which Java Virtual Machine you would like to use. A list of compatible JVMs on the system are displayed, allowing you to pick one. If the JVM you would like to use is not listed, you can click the Choose Another button to browse to it. When using the windows installer, you can also choose to install the JVM bundled with the installer, if a compatible JVM has not been found.

[Note]Note

The JVM that is bundled with the installer only provides a Java Runtime Environment. In order to develop and execute Java code using the EspressReport API, you will need to have a Java Development Kit, and/or compiler/IDE. Also, if you're using the pure Java, or Mac OS X version of the installer, this option will not appear. Make sure that you're running the installer with the JVM you wish to run the program.

The last option in the installer is for the Windows or Mac OS X version of the installer. It allows you to specify where to create the program shortcuts in the Start Menu, on the Desktop, or both. By default shortcuts are added to a program group called EspressReport in the Start Menu.

For Mac OS X you can create aliases on the Desktop, in the dock, or in a folder of your choosing.

After you complete the last option you will be shown a summary of the options you've selected. Next, the program will install.

1.2.3. Configuration

The configuration for EspressReport is already set and EspressReport be run without changing the configuration. However, if you want to:

  • Change the port number that EspressManager uses

  • Change the webroot

  • Add/delete/modify user

You will need to modify the configuration settings. These settings are stored in a text file called config.txt. It is in the following location: <EspressReportInstallDir>/userdb/config.txt. A sample configuration file is shown below:

[port]
22071

[webroot]
C:\Intepub\wwwroot

[users]
guest
Name1 Password1
Name2 Password2

[smtp host]
quadbase.com

[smtp secured]
true

[smtp ssl]
true

[smtp port]
587

[smtp username]
guest

[smtp password]
password
        

Under the [port] section you can set the port number for EspressManager to use. This number is set to 22071 by default. You can also give an explicit IP address here for EspressManager to use instead of making EspressReport query the machine for the IP address. An explicit IP address can be given by adding the address after the port number. For example, changing

[port]
22071
		

to

[port]
22071, 204.147.182.31
		

will result in EspressManager always using that IP address when it starts. You can specify multiple domains for EspressManager to use to establish a connection in the [port] section of the config.txt file. Domains are added after the IP address in the [port] section.

[port]
port number, ip address, domain1, domain2, ..., domain_n
		

The search sequence is the IP address, then domain_n through domain1.

Under the [user] section, each line consists of a user name and password. A user name of guest with no password is set up by default. You can remove this line, and add as many additional users as you would like. Each user name and password are separated by one or more spaces (so user names and passwords cannot contain spaces). Also, user names and passwords are case sensitive.

Each development license allows only one concurrent user to be logged on. If you purchased more then one development license you can set up the development kits on separate machines or set up concurrent users on a single machine.

[Note]Note

There is no limit to the number of users who have login privileges to EspressManager. This license restriction applies only to the number of simultaneous users.

The [smtp host] section allows you to specify the smtp server name to be used when sending email notification or reports with the scheduler. For more information about using the scheduler, please see Section 1.13 - Scheduling.

If your SMTP server requires authentication, fill in the following sections as well. If your SMTP server uses SSL/TLS, set [smtp ssl] to true.

[smtp secured], [smtp ssl], [smtp port], [smtp username], [smtp password]
		

Otherwise, you can leave these sections blank.

When EspressManager is started it will generate a configuration file called EspressManager.cfg in the directory in which it is started. This file contains the IP address and port number on which EspressManager is listening as defined in the config.txt file. When Report Designer is started it will look for this file for connection information to EspressManager. If it is not able to find this file it will use the default IP of 127.0.0.1 (localhost) and port 22071.

Other EspressReport components and applications/servlets/JSPs using the Report API will also (by default) look for the EspressManager.cfg file to make a connection to EspressManager. However, with the Report Viewer, Page Viewer, and Report API, you can explicitly set the IP and port that the component should use in order to connect to EspressManager. For more information about deploying EspressReport components, please see Section 2.7 - Deployment.

1.2.3.1. Increasing maximum memory heap size for applets

All applets have a maximum memory heap size of 16 megs by default. In Windows this can be increased by going to Control Panel and selecting Java (or Java Plugin). Click on the Java tab and then View under Java Applet Runtime Settings. Enter -Xmx128M (without the double quotes) under Java Runtime Parameters and click OK.

1.2.4. Starting EspressManager

Before ReportDesigner can be started, EspressManager must be running. In most installations, EspressManager should be started on the Web server machine. It is possible to use EspressReport on a stand-alone machine, by running both EspressManager and ReportDesigner locally. In this, the IP number assigned will be 127.0.0.1. This will create a log file, <EspressReportInstallDir>/EspressManager.log which may be useful in monitoring usage as well as in diagnosing problems. It is not necessary to install or start EspressManager on each ReportDesigner user machine.

To start EspressManager, run the EspressManager.bat or EspressManager.sh file in the EspressReport root directory (this file is generated automatically by the installation). For Windows installations you can use of the program shortcuts that were added to the start menu or desktop depending on the options that were specified during installation. EspressManager will then start automatically with default properties.

You can also configure EspressManager with your own settings using several arguments that have been provided. The argument assumes the format of a dash - followed by a command set. No space is needed in each argument, but at least one space is required to separate different arguments.

You can enter these arguments in the command line when starting EspressManager. You can also edit the espressmanager.bat/espressmanager.sh file to add arguments.

Arguments in the text file are also picked up when EspressManager is started as a servlet process. For more on this please see Section 1.2.4.2 - Starting EspressManager as a Servlet.

-help

When you type -help EspressManager provides information on available arguments and the meaning of each argument. -h or -? can also be used to get the same on-line help information.

-log

When you type the -log argument a log file is created and all the client/server network information is stored. An administrator may open the log file to evaluate the request of each user. The log is saved under the filename EspressManager.log.

-monitor:ON/OFF

When you specify the -monitor argument the EspressManager monitor appears as a graphic user interface that can be used to view the status as well as to modify the EspressManager settings.

EspressManager Monitor

-runInBackground:ON/OFF

This argument allows you to specify whether to run EspressManager as a background process or not. Running as a background process eliminates user input for shut down, and allows EspressManager to be run from a script. To work properly this option should be used in conjunction with the -monitor:OFF argument. When running EspressManager this way, the only way to shut it down is to end the process.

-recordLimit:nn

This argument allows you to set a maximum limit for the number of records EspressManager will retrieve from a database when executing a query. Once the maximum is reached, EspressManager will stop running the query. This feature prevents users from retrieving more records than can be stored in memory, and prevents crashes due to out of memory errors.

-queryTimeout:sss

This argument allows you to specify a timeout interval in seconds for chart queries. Once the query execution time passes the timeout argument EspressReport will abort the query. This feature prevents users from accidentally creating run-away queries.

-DBBuffer:nnn

If a database is being used as the data source for a chart you can choose to buffer both the database connection and the data used for the chart using this argument. The number of connections and queries that will be stored depends on the number specified in the DBBuffer argument from 1 to 999.

-DBCleanAll:ddhhmm

Data in the data source may be updated periodically. Therefore when the data buffer options is used (i.e., DBBuffer has a non-zero value), you may want to refresh the buffer to get the latest data. The -DBCleanAll argument can be used to indicate a time period after which data is cleared from the buffer and fetched from the data source. The value of ddhhmm means dd days, hh hours and mm minutes. EspressManager also supports the omitted format, meaning that is will translate the value with the assumption that the omitted digits are the higher digits. For example:

  • -DBCleanAll:101010 means clean the buffer every 10 days, 10 hours, and 10 minutes.

  • -DBCleanAll:1010 means clean the buffer every 10 hours and 10 minutes.

  • -DBCleanAll:10 means clean the buffer every 10 minutes.

This argument is invalid if the -DBCleanAll argument is set to 0 (i.e., always clean memory).

The refresh interval is printed when EspressManager is started.

-RequireLogin

This argument is used to apply security to ReportDesigner when it is launched via the API. Normally when ReportDesigner is called via the API there is no user authentication. This allows users to apply their own authentication to the programs, but can also allow unauthorized users access to the server. To prevent this users can turn on this argument (values are true/false) to force authentication for ReportDesigner when it is called from the API. With this argument turned on, every time a QbReportDesigner object is displayed a correct username and password (defined in the config.txt file) must also be supplied via API method calls. For more information about calling ReportDesigner from the API, see Section 2.3.5.7.11 - Calling Report Designer from Report API

-QbDesignerPassword

This argument allows you to set the password to use when the -RequireLogin argument is turned on. Instead of using a login from the config.txt file, you can set a specific password that must be supplied to the server via a method call when displaying a QbReportDesigner object. For more information about calling ReportDesigner from the API, see Section 2.3.5.7.11 - Calling Report Designer from Report API

-ScheduleCallBackClass:classfile:

This argument allows you to specify a class for the scheduler listener mechanism. The listener returns a handle to a scheduled report before the schedule executes. For more information about this feature, see Section 2.4.8 - ICallBackScheduler Interface.

-ListenerManagerClass:classfile:

This argument allows you to specify a class for the scheduler listener mechanism. The listener returns a handle to a scheduled report before the schedule executes. For more information about this feature, see Section 2.4.9 - Scheduler Listener.

-PageCleanUpTime:ddhhmm:

This argument allows you to specify a cleanup interval for the /pages/ directory in EspressReport. Files are generated in this directory when users invoke the page viewer component using a report template (.pak/.rpt) or a QbReport object. For more information about the page viewer, see Section 2.2 - Introduction to Page Viewer. The time arguments for this argument are the same as for the -DBCleanAll argument.

-MaxRecordInMemory:nnn

This argument allows you to set the maximum number of records that should be allowed in memory. Unlike the record limit which stops the query, this feature it will begin paging the data to temporary files on the system when the threshold is reached. The viewing/exporting of the report will continue, but the data will be read from the paging files. This feature prevents the system from running out of memory when running reports.

-MaxCharForRecordFile:nnn

This argument allows you to set the maximum characters allowed per field in the paging file that is generated when record file storage is invoked. Any characters in a record in the data that are longer than this argument will be truncated in the finished report.

-FileRecordBufferSize:nnn

This argument allows you to set the number of records that should be paged at a time when the record file storage is invoked. The size of the buffer effects performance, the larger the buffer size, the faster the report is generated.

-globalFormat:xmlfile:

This argument allows you to supply a global format XML file to set the default look and feel of report elements. Anytime a user elects to create a blank report the format properties in this file will be applied. For this argument, specify a file path to the XML file relative to EspressManager i.e. (-globalFormat:Templates/FormatFile.xml). For more information about the global formatting features, please see Section 1.5.9.1 - Global Formatting.

-fontMapping:xmlfile:

This argument allows you to supply a font mapping XML file to set the default font mapping for PDF export. Anytime a user creates a report the system font mapping will be applied. For this argument, specify a file path to the XML file relative to EspressManager i.e. (-fontMapping:Templates/FontFile.xml). For more information about the font mapping features. Please see Section 1.7.2.1 - PDF Font Mapping.

-htmlDpi:nn:

This argument allows you to hard-code the screen resolution that should be used when reports are exported to DHTML or HTML format. By default, the system resolution is used; however, this can cause some discrepencies when reports are generated on a Linux or a Unix server and viewed on a Windows client. Generally in these scenarios, setting the DPI to 96 (-htmlDpi:96) will produce a consistent export.

-singleTableForDistinctParamValue

When you use -singleTableForDistinctParamValue argument, the parameter dialog for parameterized charts will be drawn differently. When you map the parameters to a database column the distinct list will be drawn be running a select distinct on only the mapped field. The default behavior (without this argument) will use the joins and conditions in the original query to constrain the distinct parameter list. For more information about parameterized queries, see Section 1.3.2.2.2 - Parameterized Queries

-schedulerBuffer:nnn:

This argument allows you to create a pool of Reports for the scheduler to use. This feature can be helpful when you have multiple schedule jobs that run the same report. Instead of re-loading the same report for each job, the jobs can use the report in the buffer. This improves the schedule execution time. For large numbers of simultaneous schedule jobs, the best performance is obtained when the schedule buffer is set to the same size as the schedule thread limit.

-xmlEncoding:encoding:

This argument allows you to specify the encoding that EspressReport should use when writing XML. This includes data registry files, XML report templates, XML exports, XML global formatting, and font mapping files. This parameter needs to be set both in EspressManager and in Report Designer. For more information about XML encoding, see Section 1.7.1.2 - XML Encoding.

-paperSize:LETTER/A4

Set this argument to define the default paper size. Note that you will need to set this parameter in the reportdesigner.bat/.sh as well.

If you're running on Mac OS X and you elected to create aliases when installing, you will need to modify the espressmanager.app package to change the EspressManager settings. To do this, right-click (Ctrl+Click) on espressmanager.app and select Show Package Contents from the pop-up menu. Next, navigate to the Contents folder where you will see a file called Info.plist. Opening this file in a text editor adds the arguments to the lax.command.line.args under Java properties.

1.2.4.1. EspressManager Configuration Interface

Many of the EspressManager configuration features highlighted in the previous section can also be set using a stand-along EspressManager configuration interface provided with EspressReport. To launch the interface, make sure the EspressManager is not running and execute the ManagerConfig.bat/.sh file. This will open the configuration window.

EspressManager Configuration Window

The following configuration options can be set in this interface:

  • Log

  • EspressManager Monitor on/off

  • Run in Background on/off

  • Record Limit

  • HTML DPI

  • Page Clean-up Time

  • Single Table for Distinct Param Value

  • Scheduler Callback Class

  • Listener Manager Class

  • Scheduler Thread Limit

  • Schedule Buffer

  • Record File Settings

  • Default Global Format

  • Default PDF Font Mapping

For a description of all the options listed above please see the previous section. In addition to the configuration options, users can also append EspressManager's CLASSPATH using this interface. Database drivers and other external classes can be added to EspressManager by clicking the Insert button and browsing to the desired file.

When you click Apply, changes will be saved to the espressmanager.bat/.sh file.

1.2.4.2. Starting EspressManager as a Servlet

In addition to running as an application process, EspressManager can be run as a servlet within an application server/servlet runner. In this environment EspressManager uses http to communicate with the client instead of sockets. The advantage to this configuration is that EspressManager can share the same port as the application server which makes it easier to deploy from behind firewalls. In addition, users can perform remote administration when running EspressManager this way.

To deploy EspressManager as a servlet, complete the following steps:

  1. Copy EspressManager.jsp, MenuError.jsp and /WebComponent/ directory under the application server root (or virtual directory) in such way that they are accessible via http.

  2. Copy the EspressReport/classes/ directory and make the classes available via servlet context.

  3. Copy the /html/ and /userdb/ directories from the EspressReport installation directory to the working directory of the application server(if not exist, create new empty folder). To find out the working directory, run whatIsMyWorkingDirectory from the servlet context where you copied the EspressManager servlet classes. The servlet will print the working directory path in your browser when it is called.

  4. Copy EspressManager.jar, qblicense.jar, encoder-1.2.2.jar and esapi-2.2.0.0.jar files(or corresponding versions) from <EspressReport Installation Directory>/lib to the application server's CLASSPATH. You may also want to add axercesImpl.jar and xml-apis.jar from /lib/ directory depending on the application server in use (for example, Tomcat already have XML parsers). In addition, you may also need to add the classes for your JDBC driver in order to make a connection from EspressManager to a database.

  5. Restart the application server.

Once all these steps have been completed you should be able to load the EspressManager page by pointing your Web browser to the EspressManager.jsp page that should be available in your application server as explained in step 1.

EspressManager JSP Monitor

With this page loaded, click the Start button to start EspressManager. Once it has started you can set/modify the buffer settings and shut it down again from this window. With EspressManager running, you can close this window. It will continue to run until you call the JSP again and shut it down.

When running EspressManager as a servlet all of the components that connect to EspressManager need to be modified to take this into account. This includes Report Designer, Scheduler, Report Viewer, Page Viewer, and any application/servlet/JSP using the Report API. For more information about EspressReport deployment, please see Section 2.7 - Deployment.

1.2.4.2.1. Deploying EspressManager as a Servlet in Tomcat

The following section explains how to setup and run EspressManager as a servlet in Tomcat. The steps are same as in the previous section. This example assumes you are running Tomcat locally (IP 127.0.0.1) on port 8080. If your configuration is different, simply replace the IP and port in these instructions with the ones you use.

  1. Create a directory named EspressReport under your Tomcat root folder (<Tomcat installation directory>/webapps/ROOT) and copy there EspressManager.jsp, MenuError.jsp files, and /Web_Component/ directory from your EspressReport installation (<EspressReport Installation Directory>).

  2. Copy the <EspressReport Installation Directory>/classes directory to <Tomcat Installation Directory>/webapps/ROOT/WEB-INF/ directory.

  3. Copy EspressManager.jar, qblicense.jar, encoder-1.2.2.jar and esapi-2.2.0.0.jar files(or corresponding versions) from <EspressReport Installation Directory>/lib to <Tomcat Installation Directory>/lib . Alternatively, you can link this files with Tomcat by creating setenv.bat under <Tomcat Installation Directory>/bin directory and write in Tomcat's CLASSPATH with the value of EspressManager.jar, qblicense.jar and servlet-api.jar.

    Sample of setenv.bat:

    set CLASSPATH=C:\EspressReport66\lib\EspressManager.jar;C:\EspressReport66\lib\qblicense.jar;C:\tomcat\lib\servlet-api.jar
    						
  4. Copy the /html/ and /userdb/ directories from the EspressReport installation directory to <Tomcat Installation Directory>/bin directory(if not exist, create new empty folder).

  5. Restart your Tomcat server.

Now EspressManager should be deployed correctly. To start the EspressManager, open your web browser and go to the following address: http://127.0.0.1:8080/EspressReport/EspressManager.jsp. The Monitor will load and you can start the EspressManager by clicking the Start button.

1.2.5. Starting Report Designer

Stand-Alone

If you're running Report Designer locally, first start the EspressManager by executing the espressmanager.bat or .sh file then execute the reportdesigner.bat or .sh file. (You can also execute the shortcuts/aliases for Windows or Mac). A dialog box will appear prompting you to log on to EspressManager. If you have set up users in the config.txt file enter your user name and password. If you have not set up users, enter the user name guest and password guest. Next click Start Report Designer. This will launch the application.

Report Designer Login Window

Browser

If you're running Report Designer remotely, make sure EspressManager is running on the remote machine then type the URL for EspressReport in your browser i.e. http://machinename/espresschart/EspressReport.jsp. The page will contain a dialog prompting you to log on to EspressManager. If you haven't modified the users in the config.txt file enter guest as the user name with no password. Then click Start Report Designer. This will launch the application in a new window.

[Note]Note

Because EspressReport requires JDK 1.2 or higher, you will need to download the Java plug-in in order to run Report Designer through a browser. Also, the applet in the index.html page is configured to run on a Windows client. If you're running the applet on another platform you will need to modify the HTML source of the page. In the HTML source there are two applets, one of which is commented out. To run on a non-Windows client, comment out the first applet, and un-comment the second.

1.2.5.1. Connecting to EspressManager Running as a Servlet

If EspressManager is running as a servlet as described in Section 1.2.4.2 - Starting EspressManager as a Servlet you will need to make some modifications before ReportDesigner can be started successfully.

Stand-Alone

If you're running ReportDesigner from the .bat or .sh file, you will need to modify the file to indicate that EspressReport is running as a servlet, and to point to the location of the EspressManager servlet. To do this adds the following argument to the .bat or .sh file -servlet:http://IP Address:Port/Context.

For example:

-servlet:http://127.0.0.1:8080/servlet would indicate that the EspressManager is running on localhost, port 8080 in the /servlet/ context.

Browser

If you're running ReportDesigner through an applet that is connecting to EspressManager running as a servlet, you will need to modify the HTML source of the index.html start-up page. The following parameter tags need to be added within the applet:

<PARAM NAME="comm_protocol" VALUE="servlet">
<PARAM NAME="comm_url" VALUE="http://127.0.0.1:8080">
<PARAM NAME="servlet_context" VALUE="servlet">
					

The first parameter indicates that EspressManager is running as a servlet. The second is the IP address and port number that the application server is using, and the third is the servlet context under which EspressManager is deployed.

To connect to the ReportDesigner either open index.html file from the <EspressReport Installation Directory> directory in Web browser or if you want to make the ReportDesigner available via http, copy /lib/ directory and index.html file (both under <EspressReport Installation Directory< directory) to the <Tomcat Installation Directory>/webapps/ROOT/EspressReport directory and restart your Tomcat server.

To access the ReportDesigner via http, just open Web browser and go to the following address: http://127.0.0.1:8080/EspressReport/index.html.

1.2.6. Backward compatibility patches

If you upgraded from an older version, you may notice some changes in the default behavior. Although the backward compatibility is kept whenever it is possible, sometimes a new behavior is preferred. The new behavior should be better for majority of users, but if you already have some charts or reports from an older version, you may want to keep the old behavior, so your charts and reports look exactly the same as before. That is why we provide backward compatibility patches.

[Caution]Caution

Patches are for advanced users only. Please apply them only if you need them and if you know what are doing. If you are not sure, contact support.

The patches can be found in the <EspressReport_Installation_Directory>/lib/Patches directory. They are stored in JAR archives. To apply a patch, it is enough to add the appropriate JAR file to the classpath of your application as described below.

If you want to apply a patch to all designers (for reports and charts) and viewers, you have to edit the espressmanager.bat and reportdesigner.bat files (if you use Windows) or espressmanager.sh and reportdesigner.sh files (if you use other OS) in your EspressReport installation directory and add relative path to the patch JAR file (e.g. ./lib/Patches/patch1.jar) to the classpath parameter. If you are running Report Designer from HTML page, you also have to edit the index.html file in your EspressReport installation directory and add relative path to the patch JAR file to the archive attribute of the applet tag.

If you are using API, you have to include the patch JAR file in the classpath of your application.

Below is list of all patches available in the current version.

patch1.jar

- turn off chart axis padding by default

  • default behavior (without the patch) - axis padding is on by default

  • behavior with the patch - axis padding is off by default

  • new behavior has been introduced in version 4.0

  • this feature can also be set using the IAxis.setAxisPaddingAdded method in API or in the Axis Scale dialog in the Chart Designer

patch2.jar

- add left margin for annotation text in charts

  • default behavior (without the patch) - annotation text does not have left margin

  • behavior with the patch - annotation text has left margin

  • new behavior has been introduced in version 5.0

  • this feature cannot be set by public API nor UI

  • annotation text is legend text, chart titles and any text inserted using InsertText in the Chart Designer

patch3.jar

- use 0 to 1 as min, max value when chart axis autoscale for axis pt less than 1

  • default behavior (without the patch) - maximum and minimum are always set according to data if autoscale is used

  • behavior with the patch - if max-min is < 1 and autoscale is used, min is set to 0 and max is set to 1

  • new behavior has been introduced in version 5.4

  • this feature cannot be set by public API nor UI

  • It is not recommended to use this patch. The original behavior is a bug.

patch4.jar

- turn off new pie chart label placement algorithm (calculate label placement based on pie sector position)

  • default behavior (without the patch) - new pie label placement algorithm is used

  • behavior with the patch - old pie label placement algorithm is used

  • new behavior has been introduced in version 6.0

  • this feature cannot be set by public API nor UI

patch5.jar

- always use integer value for chart axis auto scale

  • default behavior (without the patch) - integer is always used for axis auto scale

  • behavior with the patch - axis value data type is used for axis auto scale

  • new behavior has been introduced in version 6.0

  • this feature cannot be set by public API nor UI

patch6.jar

- disable minimum and maximum error check for chart axis scale

  • default behavior (without the patch) - the error check is enabled

  • behavior with the patch - the error check is disabled (so you can maximum that is lower than maximal value in your data set (or similarly for minimum))

  • new behavior has been introduced in version 6.2

  • patch is for API only

  • this feature cannot be set by public API nor UI

patch7.jar

- turn off Single color for categories feature for columnar and bar charts by defaul

  • default behavior (without the patch) - Single color for categories feature is turned on by default

  • behavior with the patch - Single color for categories feature is turned off by default

  • new behavior has been introduced in version 6.3

  • this feature can also be set using the IDataPointSet.setSingleColorForCategories method in API or in the Chart Options dialog in the Chart Designer

patch8.jar

- line chart end to end revert single point data to display on left axis

patch9.jar

- display stack label despite not having enough space in the stack to render it