[FAQ] Known Issue - Version 8.x

Merging Cells at the bottom of the Excel

*Problem Description*
A line of merged cells is added along the bottom of the report. 

This is to work around an Excel bug. If the Excel file contains an image, then the row heights we set are ignored,
unless there is at least one merged cell in the sheet.
We don't know why, and we don't have every version of Excel installed to compare which ones have the problem.
The simplest solution is to ensure every report has at least one merged cell.

Note: This issue is applicable for v6.x, v7.x and v8.x as well.

*Resolution*
<b>[A] Extra Row between Cubes within Group Headers
[B] Extra Row between Cube at Section Header and Cube at Group Header</b>

[A] has been resolved in Repertoire 8.5.1.
Insert "elx-patch-remove-cell-cube-element-excel-2535-8.5.1.jar" (found at bottom of this page)
into 8.5.1 / ext directory.

To take care of the Extra Row issue in Repertoire 8.5.0,
(1) Copy the rep-report-8.5.1.jar from /lib directory of the version 8.5.1.
(2) Back up rep-report-8.5.0.jar and replace it.
(3) Deploying the patch previous provided into Rep 8.5.0 /ext directory.

<b>[B]</b> check " Can Grow " for Cube at Section Header.
Elixir QA discovered that a fully rendered Cube at Section Header will remove the extra row at end of Section Header Cube rendering, while a partially rendered Cube at Section
Header will introduce a blank row at end of Cube.

Turn OFF Word Wrap for CSV and Excel

*Problem Description*
When generating the report in CSV or Excel format, if the data is too long to be fit into the Label/Text field in the template, the record will wrap to the next line.

*Resolution*
For Report, an [AutoWrap] property for Fields (under Format->AutoWrap) which defaults to true (for backwards compatibility) was implemented. It is possible to turn this off to prevent word wrapping either explicitly or via a script (eg. based on the mime type, choose to turn wrapping off for CSV). Because this is so widely useful and it would be very tedious to go through all the fields and add this script, there is a master control at the report level.

On Report Properties there are options to disable [AutoWrap] for CSV and Excel. If these are ticked, then the individual field values are ignored and [AutoWrap] is turned off for all fields.
*Note: Only when rendering in CSV and/or Excel, depending on which checkbox was chosen

Therefore if you want your CSV and Excel outputs to not have hard-coded newlines where they wrap, then you can safely turn these two options on without having to alter any field properties or write any scripts and without affecting any other render types.

*Note: The behaviour of turning off autowrap for other render types is not guaranteed to be the same.
For example, PDF will likely clip the long text differently from glint. This should not be treated as a bug because changes to all render types to clip exactly the same would likely break existing behaviour and would definitely increase file sizes and rendering time. Users should not depend on the consistent handling of AutoWrap=no across different render types.

Note: This is resolved on v8.2.0 or later

Excel file compliance violation - blocked by certain Email scanner

*Problem Description*
Reports generated to Excel (.xls) will be blocked and quarantined by certain email scanner system.

The file violates the Compound File Directory Sections (http://msdn.microsoft.com/en-us/library/dd942368.aspx), which prevents us from reading the stream information properly from it.
Especially, it's violating the rules mentioned in http://msdn.microsoft.com/en-us/library/dd942470(v=PROT.13).aspx.

*Solution*
1/ This problem will not occur when the Excel file is re-saved before sending the attachment via mail.

2/ *Patch Resolution:
To resolve this, please following the instruction carefully.
   1. Stop your Repertoire Designer/Server ( if it's currently running )
   2. Go to 8.x Designer or Server /lib directory, backup jxl.jar to another directory
   3. Download and unzip jxlapi-2.6.12-elx.2.zip
    Content
    patch: jxlapi-2.6.12-elx.2.jar
    source file: jxl-2.6.12-elx.2-src.tar.gz
   4. Drop patch jxlapi-2.6.12-elx.2.jar into the /lib directory ( DO NOT change the name of this jar file )
   5. Start your Repertoire Designer/Server

*Note: This patch will not work with Remote, so you can only try with Designer and/or Server.

This will be resolved in v8.2.0.

Remember Selection from Card 1 to Card 2 in a Single Dashboard

*Problem Description*
In Card 1, there is a list (Grid) of data and in Card 2, there is a also a list (Dropdown Box) of data.
Both Cards are using the same datasource and list.

Q: When a single selection is made in Card 1, how can we show the same selection in Card 2 dropdown box?

*Solution*

Please refer to the attached sample,  *SameSel.zip* .

Any selection on the first combo on page one updates the selection in the grid on card 2 as long as both are grid types (eg. combo, radio, grid, tagcloud etc.). The table on card 1 and chart on card 2 each read from the grid on their card, to show that the selection propagates correctly.

Remember Selection between 2/multiple Dashboards - For build Repertoire-20110328 and later.

*Problem Description*
When Dashboard becomes too slow because of too many Views and Cards, we will need to split all the Cards in .pml into individual dashboard but still retain the selection across .pml.

Assuming the first dashboard as DashboardA and second dashboard as DashboardB.
A Properties Datasource is created with parameter to get the selection from the DashboardA Grid and datadrop into tabular datasource. DashboardB will then read/get this tabular datasource and set the selection to the Grid.

Q: Currently it is not working as only one value stored at each time which always give {0} therefore the DashboardB Grid will set the value based on {0}(In this case the first one is always selected).
How can we make the selection in DashboardB same as DashboardA?

*Solution*

Please refer to the attached sample,  *BetweenDashboards.zip* .

The reason for BitSet can be explained with reference to FruitSales. If you select Fruit=Apple in a grid, you will find the getGridSelection actually returns {0,3,7} because those are the indexes of the rows with Fruit=Apple.

A setSelectedValue function is added to Grid - it would reverse the value back into a BitSet and call setGridSelection.
For builds before Repertoire-20110328, there isn't a workaround as the system never needs setSelectedValue - it always uses setGridSelection because it handles both single and multiple selection. Therefore, adding setSelectedValue would only make complete sense for single select grids.

*Note: This sample will not work with builds before Repertoire-20110328

Hyperlinks appeared as Text after rendering report to Excel

*Problem Description*
When creating an excel report with a URL hyperlink as one of the clickable fields, the URL will appear as a text field in excel unless user edit the cell and press ‘enter’ without editing anything then it changes into a hyperlink.

We don't output any hyperlinks into excel. This is because we can't support the same behaviour as the other file formats, where we can have some content, eg. a string or number and then clicking takes you to the URL (using the URL property). In Excel, the cell will show the URL instead of the expected label or number.
This is fine if you only want a URL in a cell, but it means that when you render into Excel you might not see the data you see in the other formats because the URL (which isn't visible on the page in HTML, PDF etc.) overwrites the cell contents.
If we were to add in hyperlink support in Excel then it would break any existing reports that happen to have URLs defined for the fields, labels and images.

*Patch Resolution:*
To help resolve this, a code was added which allows
hyperlinks to show in Excel. The behaviour is as follows:

1/ You define the URL property of a label, eg. http://elixirtech.com/
2/ You define the label text as http://elixirtech.com/

Now you will get the label appear in Excel as a hyperlink, not just a plain string. If the label text is different from the URL then only the label text is shown as a plain string which is consistent with the current behaviour.

This will be resolved in v8.3.0 (build Repertoire-20110616).

Serif Fonts got misaligned when report created in Windows is rendered in Solaris

*Problem Description*
Reports created on Repertoire using the default Serif fonts may appear expected in Windows but not in Solaris. The reason is that Windows and Solaris default Serif fonts are different. Windows uses Times New Roman as their default Serif font while Solaris uses DejaVu Serif. DejaVu Serif is bigger compared to Times New Roman.

*Resolution:*
To solve this issue, we have to change the default Serif font of Solaris to Times New Roman:

1. Copy the Times New Roman file from 'C:\Windows\Fonts' and paste them inside '/usr/share/fonts/TrueType/' in Solaris. There should be 4 files: TIMES.TTF TIMESI.TTF TIMESBD.TTF TIMESBI.TTF

2. Open a terminal and type in: "mkdir -p ~/.fonts.conf.d/". This will create a folder at the root.

3. Type in "cp /etc/fonts/conf.d/60-latin.conf ~/.fonts.conf.d/". This will copy the '60-latin.conf' to the folder you just created in root.
4. Edit ~/.fonts.conf.d/60-latin.conf. Move the <Times New Roman> entry to the top of the serif section and save the file.
5. Type in "fc-match serif" to verify that the default Serif font is changed to Times New Roman. You should see "TIMES.TTF: "Times New Roman" "Normal".

You can change the default Serif font to any other Serif font by moving the entry in 60-latin.conf to the top of the section and pasting the correct file type under '/usr/share/fonts/TrueType" (or X11 depending on fonts).

Default Sans-Serif font can also be change using this method, moving the entry under the sans-serif font section to the top.

Inaccurate result when converting to number format of exponential (big) number

*Problem Description*
A field contains the following script:

var temp=8.473153080350575E22;
"Before divided by 1000 is :  " + temp +
 "\n After divided by 1000 is  : " +temp/10000;

Result:
Before divided by 1000 is :  8.473153080350575e+22
 After divided by 1000 is  : 8473153080350576000

*Resolution:*
It's recommendable to separate text and formatted number in this case.
In addition, please use the recommended script: 
new java.math.BigDecimal("8.473153080350575E22").divide (new java.math.BigDecimal("1000"));
and format the field that contains the big number with the following Properties:
Format Type: Number
Custom Pattern: #,##0

elx-patch-remove-cell-cube-element-excel-2535-8.5.1.zip
jxlapi-2.6.12-elx.2.zip
SameSel.zip
BetweenDashboards.zip