[FAQ] Known Issue - Version 4.x

Steps to upgrade from version 3.x and prior to version 4.4.1

Version : 4.4.1
Unzip the Windows/Solaris/Generic distribution into a directory using either unzip or pkzip or a GUI utility like winzip.
To install Elixir Report software, follow the steps below:

1. To unzip ElixirReportServer.zip, you can use either using a GUI utility like winzip or type the following command at the command prompt to unzip ElixirReportServer.zip into a location of your choice which will be referred to as.
unzip ElixirReportServer.zip
or
jar -xvf ElixirReportServer.jar (You will need Java to be installed to extract a jar file)
where unzip ElixirReportServer.zip is replaced by the name of your Elixir Report package filename.
This command will create an ElixirReportServer sub-directory (in the current directory) which contains everything that you needed to run
Elixir Report Server.

2. Configuration of the report server. The server parameters is controlled via the report.config.xml in the $ERS_HOME/config directory.

* acceptor.port 
* server.path 
* process.count
* process.wait 
* jvm.heapsize.default
* processN.acceptor.port

For more information on the server parameters, please refer to Chapter 4. Configuration - Configuring the Elixir Report Server of the User Manual. The User Manual can be found under the $ERS_HOME/docs directory.

3. Copy over all the third parties or java libraries from "ext" directory of version 4.0.5 to the "ext" directory of version 4.4.1.

4. Replace the existing "rptclient.jar" file deployed in your application with the correct version of "rptclient.jar" which can be found under the $ERS_HOME/clients directory.

5. A .rml file will be created for each templates in the same directory when the report server is started for the very first time or whenever
a new template is deployed. You will have to manually remove all the .rml file before restarting the Report Server 4.4.1.

For your information:-
1. There is a change in the PDF handling during situations where the datasource does not return any data in version 4.3.8 and above. In
these situations, the previous behaviour for Elixir Report Server was to return a BLANK, single page pdf of the size 15345 bytes.
This was not customizable. However, for this version and beyond, you can customize this behaviour by:

Create a custom PDF to show clients when there was a situation where there is no data. (This is done by coming up with your own pdf). 
Keep the previous behaviour (by default, it'll ship with the previous empty.pdf). 
Do not return anything at all. This can be done by deleting the empty.pdf in the resources directory.

2. HTML export for reports in Elixir Report Designer and Server have been relabelled as:

ER 3.x XHTML (previously known as 'XHTML') 
HTML (previously known as 'XHTML Absolute') 
XHTML Mobile (unchanged)

This also affect runtime APIs. The old constants will still exist but will be marked as deprecated. The constants affected are :

XHTML_FORMAT [Overruled by ER3X_XHTML_FORMAT] XHTML_ABSOLUTE_FORMAT [Overruled by HTML_FORMAT]

known issues for the migration of version 3.x to 4.x.

Version : 3.x

1. Keep together property of the table component may behave differently as the default value for this property is different in both 3.x and 4.0, "Yes' for 3.x and "No" for 4.0. This may cause unexpected empty spacing before tables. In this case, you will have to manually change tables' keep together property to "No".

2. Tables' header/footer lines may not draw, because the default width set by 3.x designer is 0. 3.x will draw the line even with width 3.x
whereas 4.0 doesn't draw line with width 0. In this case, you will have to change the width for table header/footer from 0 to 1 in the table's property wizard.

3. Issue with Page/pages variable : you may encounter problem if you do any mathematical calculation or comparison using page/pages variable in the script, as its' values substituted only at the end of report generation in 4.0, hence it is just a string replacement variable.
You can use page/pages only for displaying page numbering.

4. License file (license.jar) has to be included in the classpath for standalone runtime to run in applet and application. Also, it has to
be signed to be used in applet, the documentation for this is provided in the help document.

5. Version 4.x supports only J2SE 1.3 JVM and above. JDK 1.4.2 is recommended.

Multiple Worksheet support for Excel format

Version : 4.3.1 onwards

We provided a improved Excel rendering engine for support option generation for rendering multiple pages into a single worksheet along with handling of Excel limitation of 32,000 rows.
The default setting for the Excel output generation is paged, you are required to set the properties only if you want to generate non-paged excel output.
For non-paged output, you will have to set a parameter (key = "Paged", value = "No") in the template. Click on Format --> Report Template Properties menu item and select the parameter tab from the dialog to key in the parameter.

1. Define variables for "Paged" variable in the templates, to do this, click on Format --> Report template properties menu item to launch dialog, then choose "parameter" tab and type the variable name in the KEY column.

2. You can pass the parameter value from the program as follows:
    =Code Snippet=
    Properties prop = new Properties();
    prop.put("Paged", "No"); //For the non-paged output
    rt.setDynamicparameters(prop); //rt is ReportRuntime instance

    For server runtime, you have to use the following code :
    =Code Snippet=
    Properties prop = new Properties();
    prop.put("Paged", "No"); //For the non-paged output
    rr.setDynamicparameters(prop); // rr ReportRequest instance

Message encountered when reloading workspace via shell.bat

Version : 4.4.1

Shell.bat, located in $ERS_HOME/clients/, can be used to generate report and perform task but for reload of workspace, you will encountered the following message.

ERROR com.elixirtech.report.server.reportrequest.ReportRequestConnector - CommunicationException during AbstractConnector - disconnect.

Nevertheless, the workspace will still be refresh and will not affect subsequence report generation.

"Error",…,“REC.193”,"com.elixirtech.report.server.net.CommunicationException"

Version : 4.3.7 and prior

The "REC.193" exception indicated that during the report generation, the report server is encountering with some issues which cause the report server to lock up the child process. The exception thrown is a general error message which mean the possible causes for this error could be endless.

It will be recommended to upgrade to a our later version, 4.3.8 / 4.4.1.

It has fixes for a memory leak issue as well as some performance enhancements. In addition to that, it has removed all the "REC.XXX" error logging as they can be very generic and has replaced it with the standard Java exception stack trace messages which will make it easier for us to pinpoint and isolate any error if they do happen.

Child Process of Elixir Report Server not "killed"
Version : 3.x and prior

This cause by a third party product used in version 3.x and prior but fixed in version 4.x and later.
To resolve the issue in version 3.x and prior, upgrade the NT Service wrapper used for Java.

Larger PDF files generated

Version : 4.3.8

Cause : The resource cache in report will be reset every time a new page render
Suggested action : Upgrade to version 4.4.1

Word wrap is not wrapping properly

Version : 4.3.5 and prior

Fixed in version 4.3.6, text wrapping behavior modified for all text elements to prevent the words from truncated or omitted.

ERServer - Report Request Error - Communication Exception com.elixirtech.report.server.net.CommunicationException

Version : 4.3.7 and prior

The "Connection reset" mean the server that you are connected to has reset the connection. This is usually caused by a high amount of
traffic on the server, but may be caused by a server error as well, for example, the server is down. The reason about communication errors are very vague in general.

In order for us to investigate further, we will appreciate if you can send us the Application.log/Server.log in the $ERS_HOME/log directory.

For your information:-
If you are using Elixir Report version 4.3.7 and prior, it is recommended to upgrade to Elixir Report version 4.4.1. In version 4.4.1,
our development team has fixed a potential memory leakage in the child rendering engine issue.

java.lang.NoClassDefFoundError: sg/com/elixir/reportwriter/ReportWriterFrame

Version : 4.3.6 and prior

Fixed in version 4.4 to include missing class file.

Elixir Report Server shutdown by itself.

Version : All

The most common cause is that the child process get kill during a login or logout from the NT server. The only way around is to lock or use remote access.