Content

The following chapters describes the various things to know when migrating from older versions of i-net Crystal-Clear to version 10.x of i-net Crystal-Clear.

Depending on the API and/or components you use, some of these changes may create the need for you to customize or change your usage of i-net Crystal-Clear when migrating to version 10.x – either in order to take advantage of new features, or perhaps because the original way of doing things may not work any more at all (for example if you were using deprecated API methods).

API Changes

Added Classes

com.inet.repor.Region

Added Methods

com.inet.report.BorderProperties

isCloseBorderOnPageBreak()

getCloseBorderOnPageBreakFormula()

setCloseBorderOnPageBreak(boolean)

setCloseBorderOnPageBreakFormula(FormulaField)

com.inet.report.Element

isCloseBorderOnPageBreak()

Methods and Constants deprecated in version 10

The following list includes the methods that are deprecated in version 10 and should no longer be used. Please consult the API documentation of the individual methods for more information about newer methods to use instead.

com.inet.report.config.datasource.DataSourceConfiguration

checkConnection()

Removed Methods

The following list includes the methods that have been entirely removed in version 10 of i-net Crystal-Clear.

com.inet.report.Cache

isTypeClusterCache()

com.inet.report.LicenseKeyInfo

isCluster()

getGroupNumber()

Removed deprecated Methods and Constants

The following methods had been deprecated for longer than 2 major versions and have now been entirely removed in version 10 of i-net Crystal-Clear.

com.inet.report.AbstractFontElement

getBold()

getItalic()

getStrikeout()

getUnderline()

com.inet.report.AbstractLineElement

getExtendToBottomOfSectionWhenPrinting()

com.inet.report.AbstractValueElement

getAllowFieldClipping()

getReverseSignForDisplay()

com.inet.report.BorderProperties

getTightHorizontal()

setTightHorizontal(FormulaField)

com.inet.report.Chart

com.inet.report.ChartFormatProperties

getAllowFieldClipping()

getReverseSignForDisplay()

com.inet.report.CrossTabCell

getSubElements()

com.inet.report.DatabaseTables

getConvertDateTime()

isPasswordValid()

setConvertDateTime(int)

com.inet.report.Element

getCanGrow()

getCloseBorderOnPageBreak()

getDropShadow()

getSuppress()

getSuppressIfDuplicated()

getTextRotation()

getTightHorizontal()

setTextRotation(int)

setTightHorizontal(FormulaField)

com.inet.report.Engine

EXPORT_CSV_COM

EXPORT_CSV_COL

DEFAULT_PAPER_ORIENTATION

DEFAULT_PAPERSIZE

LANDSCAPE

pageSizes

PAPER_*

PATER_TABLOID

PORTRAIT

USERDEFINED_PAPER

getAcrossThenDown()

getFormatGroupsWithMultipleColumn()

getHorizontal()

getLabel*()

getMargin*()

getPaper*()

getVertical()

isFormatWithMultipleColumns()

setAcrossThenDown(boolean)

setData(ResultSet, boolean)

setFormatGroupsWithMultipleColumn(boolean)

setFormatWithMultipleColumns(boolean

setHorizontal(int)

setLabel*(…)

setMargin*(…)

setPaper*(…)

setVertical(int)

com.inet.report.FieldElement

getLineSpacing()

getLineSpacingType()

setLineSpacing(int)

setLineSpacingType(int)

com.inet.report.FontProperties

getBold()

getItalic()

getStrikeout()

getUnderline()

com.inet.report.ValueProperties

TWELF_HOURS

getAllowFieldClipping()

getReverseSignForDisplay()

com.inet.report.GeneralProperties

CENTER_ALIGN

DEFAULT_ALIGN

JUSTIFIED_ALIGN

LEFT_ALIGN

RIGHT_ALIGN

ROTATE_*

getCanGrow()

getCloseBorderOnPageBreak()

getCloseBorderOnPageBreakFormula()

getDefaultPromptValues()

getDropShadow()

getDropShadowFormula()

getKeepTogether()

getSuppress()

getSuppressIfDuplicated()

getTextRotation()

setCloseBorderOnPageBreak(boolean)

setCloseBorderOnPageBreakFormula(FormulaField)

setDropShadow(boolean)

setDropShadowFormula(FormulaField)

setTextRotation(int)

com.inet.report.Group

getInstanceId()

getParentGroup()

removeGroupDirectionFormula()

setHierarchicalGrouping(boolean, Field, Field, int)

setInstanceId(Field)

setParentGroup(Field)

com.inet.report.LineProperties

getExtendToBottomOfSectionWhenPrinting()

com.inet.report.Paragraph

getLineSpacingType()

setLineSpacingType(int)

com.inet.report.ParagraphProperties

EXACT_SPACING

MULTIPLE_SPACING

getLineSpacing()

getLineSpacingType()

setLineSpacing(int)

setLineSpacingType(int)

com.inet.report.PictureProperties

BOTTOM_ALIGN

CENTER_ALIGN

TOP_ALIGN

com.inet.report.PromptField

addDefaultValue(String,String)

addDefaultValue(Object,String)

getPromptValueDesciptions()

setDefaultPromptValues(Object[])

setDefaultPromptValues(String)

setDefaultValue(int,Object,String)

com.inet.report.ReportComponent

getKeepTogether()

com.inet.report.ReportProperties

getAcrossThenDown()

getDistinct()

getFormatGroupsWithMultipleColumn()

com.inet.report.SortField

removeSortDirectionFormula()

com.inet.report.Subreport

getOnDemand()

com.inet.report.SubreportProperties

getOnDemand()

com.inet.report.SummaryField

SUMMARY_CROSSTAB_ROW

SUMMARY_CROSSTAB_COLUMN

New directory structure

The directory structure in the installation directory has been changed. The directory “crystalclear” has been replaced with 2 new directories: “client” and “core”.

The directory “core” contains all library files of the root class path and the “lib” directory contains contains library files, which can be loaded dynamically. The directory “client” contains resources for the i-net Crystal-Clear client, e.g. the new HTML parameter request dialog.

Element border / shadow increase section height

If a report element has a border and/or shadow and the lower border of the report element is exactly on the lower edge of a section, then the height of this section is increased at runtime by the width of the border and / or shadow.

In previous versions, the border and/or shadow was painted into the next section. To use this behavior of the older versions with version 10, you need to set the value of the property “Compatibility Level” to “compliant to version 9.x”.

Section property "Suppress Blank section"

The behavior of the section property “Suppress Blank section” has been changed.
If this property is enabled, an emtpy section will be suppressed. A section is emtpy, if it does not contain dynamic data.

That means, the section will be suppressed if the following report elements does not contain any data:

all (database, formula, special, summary) fields

all fields embedded in text elements

all database pictures

and no chart, crosstab, Java Bean or subreport is displayed.

The following elements does not effect this property:

text elements without embedded fields

boxes

lines

pictures

section background.

Property "Allow unknown Data Sources" added

For security reasons the property “Allow unknown Data Sources” has been added to the configuration category “General Options”.

If this property is disabled, then it is not possible to execute reports containing an unknown datasource. A data source is unknown, if no data source configuration exists with this name on the report server. This will prevent that each user has the possibility to load data from external databases.

New default value for "Max HTTP Requests"

Since version 10, the new default (and recommended) value for the property “Max HTTP Requests” is 250. Because of a bug in channel handling of various Java VMs, i-net Crystal-Clear report server now uses sockets instead of channels and therefore requires more threads. The previous default value of 8 would now actually decrease performance of the report server.

If the current value of this property is less than 50, then the setup increases it to 250 during the installation of version 10.

If the current value is already between 50 and 250, then it is necessary to manually set the value to 250 if this default is desired.

Null values for string parameter fields supported

Single string parameter fields (prompts) which do not have any length limit now accept null in addition to an empty string. In the prompt dialog, they have a “no value” option which can be toggled on and off for the string prompt.

Figure 1:Null values for string prompts

If you do not want to allow null values for string prompts, you can simply specify 0 as the minimum length of the string - note that in the i-net Designer, this is now the default setting when creating new string prompts.

Authentication for Remote Interface has changed

Up to now the password form of the Remoter Interface appears, if report permissions and/or system permissions are enabled and no login script was specified in the configuration (see Security Guide for more details).

Since version 10, i-net Crystal-Clear supports several authentication methods. The property Login Type defines, how the user has to log into the system and where the permitted user names are administrated.

The default value of the Login Type is: Automatic. In this case, the server tries to request the login in the following order: External Webserver (URL of Login Script must be set), Windows Authentication (if the server is running on a Windows operating system), Internal Webserver, Master Password.

To use a specific authentication method, you need to select it in the Configuration Manager, property: Login Type in the category System Permissions.

Cluster of i-net Crystal-Clear Plus removed

The cluster feature of i-net Crystal-Clear Plus has been removed. Operating system or application server clusters should be used instead.

Support for Crystal Reports 6

Reports created with Crystal Reports version 6 are no longer supported. If you have such reports, then you will have to open and save these reports either with a newer Crystal Reports version or with a previous version of i-net Designer.